[TFS 2015] 整合 Slack 攻略

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:

 

http://your tfs:8080/tfs/DefaultCollection/your project/_admin/_servicehooks

在專案設定→新增一個寬限時間服務,Slack= 寬限時間,這是中文版翻譯的問題,害我找不到,我的青春....

建立 Tigger 類型,我這裡選建置完成,如下圖:

把剛剛複製的 Webhook Url 貼上去,如下圖:

一個 Hook 設定只能有一個 Event

測試通過,如下圖:

Slack 也會在 #build Channel 收到測試訊息,如下圖:

 
使用 TfsNotificationRelay:

Download:https://github.com/kria/TfsNotificationRelay/releases

安裝手冊:https://github.com/kria/TfsNotificationRelay/wiki/Installation

 

按照說明把檔案複製到相關路徑,透過 DevCore.TfsNotificationRelay.dll.config 決定要啟用那些功能,如下圖:

我會先設定好一個 config,再貼到另一個 config

這裡會用到 Slack Incoming WebHook,申請完成後會有一組 Webhook URL

在DevCore.TfsNotificationRelay.dll.config,要設定以下:

  • webhookUrl = Incoming WebHook URL
  • channesl=訊息張貼位置
  • userName=機器人的名字
  • iconUrl=可先設定好,不必每次都抓圖

完成上面的動作,基本上就能使用了,但如果你還想要有 Highlight,再往下捲動。
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

Image result for microsoft+mvp+logo