TFS | VSTS 的事件通知塞爆了我的 E-Mail,開發團隊改擁抱 Slack,讓開發討論能更聚焦,內建的 Service Hook,能輕易的完成整合的動作。
TfsNotificationRelay 提供更多的設定,讓 Slack 能更快的找到相關的訊息。
接下來,將介紹設定步驟。
本文章節:
系統環境:
- Windows 2012 Datacenter x64 中文版
- TFS 2015 Update2 中文版
Slack 前置作業:
- Slack Team Admin 管理員帳號,申請方式自行搜尋,這裡就不在多做說明。
使用 TFS 2015 Update2 內建的 Service Hooks:
- 在 https://slack.com/apps 建立 Visual Studio Team Services 整合服務,請參考:https://www.visualstudio.com/en-us/get-started/integrate/service-hooks/slack-and-vso-vs
- Slack 整合 TFS | VSTS 重點就是要設定 Channel(訊息張貼位置), 然後把 Webhook 複製下來,等下會用到,如下圖:
http://your tfs:8080/tfs/DefaultCollection/your project/_admin/_servicehooks
在專案設定→新增一個寬限時間服務,Slack= 寬限時間,這是中文版翻譯的問題,害我找不到,我的青春....
建立 Tigger 類型,我這裡選建置完成,如下圖:
把剛剛複製的 Webhook Url 貼上去,如下圖:
測試通過,如下圖:
Slack 也會在 #build Channel 收到測試訊息,如下圖:
使用 TfsNotificationRelay:
Download:https://github.com/kria/TfsNotificationRelay/releases
安裝手冊:https://github.com/kria/TfsNotificationRelay/wiki/Installation
按照說明把檔案複製到相關路徑,透過 DevCore.TfsNotificationRelay.dll.config 決定要啟用那些功能,如下圖:
這裡會用到 Slack Incoming WebHook,申請完成後會有一組 Webhook URL
在DevCore.TfsNotificationRelay.dll.config,要設定以下:
- webhookUrl = Incoming WebHook URL
- channesl=訊息張貼位置
- userName=機器人的名字
- iconUrl=可先設定好,不必每次都抓圖
Slack Highlight:
- tfsUser=domain name
- mappedUser=每個帳號在 slack Team 都會有一個 slack id
設定 Bot,這裡我只需要 Bot 的 Token,可以不需要設定這個通知
把所有使用者的 slack id 找出來,依照帳號設定對應表,如下圖:
最後把所有的 {userName} 全部取代為 <@{mappedUser}>
完成後,重新開機。
最後,只要有事件觸發,Slack 就會收到通知,並且根據登入帳號有 Highligh,有在用 Slack 的夥伴就會知道 @yao 的妙用之處
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET