[Microsoft Teams]使用Webhook傳訊息到Teams頻道

  • 13076
  • 0

我們的開發團隊已經使用Microsoft Teams作為協同合作工具,團隊的溝通、共享文件的存放、以及Office365的整合都在Microsoft Teams中完成。最近我們開始把系統的錯誤通知也放到Teams的頻道中,這樣我們隨時隨地都可以收到系統錯誤的通知,以便於快速了解狀況並進行問題的排除。要做到這個效果,我們使用的是Webhook這個連接器。

 

連接器是甚麼?可以參考Microsoft的說明

連接器為您和您的團隊提供了一個輕鬆的方式,將來自最愛的外部服務的唯讀廣播直接連接到 Microsoft Teams 中的頻道。您可以從上千項的服務,如 Twitter、Mailchimp 或 Trello 帳戶接收更新。每當您追蹤的 RSS 摘要發佈了新內容,您便可以接收通知。只要 JIRA 或 GitHub 中發佈任何消息,您就可以從 Salesforce 和 Google Analytics (分析) 接收摘要。清單會永不停止,從不間斷!

建立Webhook連接器

在想要傳送訊息的頻道的功能選單中,選取...(其他),在選單中選擇連接器

在可用的連接器中選擇傳入Webhook

替這個連接器命名,之後按下建立按鈕

這時候會出現一組URL,這是用來作為傳遞資料用的。複製下來後,按下完成按鈕即可。

這樣就完成了建立連接器的設定

使用Webhook連接器

基本上,Webhook連接器是使用Http的POST來傳送訊息的,所以可以透過任何呼叫WebAPI的程式碼進行資料傳送。一個簡單的測試方式,就是使用Postman這個工具模擬WebAPI的呼叫。

開啟Postman後,建立一個POST方法的連線,網址就是剛才所複製下來的URL字串。

在傳送的Headers中加入一筆設定,Key為Content-Type,Value為application/json,以指定我們要送的訊息是json格式。

在傳送的Body中則使用一個簡單的json訊息做為測試

{"text": "Hello World!"}

按下Send按鈕

如果網路沒問題,而且傳送成功的話,就可以在Microsoft Teams的頻道內看到剛才所送出的訊息。

這裡的訊息格式可以參考Office 365 Connectors API Reference

加入Title

可以在訊息中加入Title

{
  "text": "記得去拿牛奶!",
  "title": "今天:"
}

加入連結或圖片

可以使用Markdown語法為訊息加入連結圖片

{
  "text": "記得去拿牛奶!~![牛奶](http://www.oushidai.com/static/upload/2016/04/05/20160405155426000000_1_27800_71.jpg)",
  "title": "今天:"
}

還可以有更複雜的格式,可參考Office 365 Connectors API Reference,目前沒用到就沒繼續研究了。


參考