我們的開發團隊已經使用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,目前沒用到就沒繼續研究了。