先日、**「リモートワークで職場に荷物が届いたことをATOM LiteとAzure Logic Appsを使って通知させる」**という記事を書いて、「Azure Logic Appsを使ってTeamsに通知するやり方」を公開したのですが、「Webhookを使用するなら、Azure Logic Appsは不要なのでは?」という問いかけを貰ったので試してみました。
結論
Azure Logic Appsを使わなくても、ATOM Liteを使ってTemsへの通知が出来ました。
以前のシステム構成
今回のシステム構成
変更点
- ATOM LiteのHTTPリクエストのURLに、Teamsの[Incoming Webhook]を使用
- HTTPリクエストは、GETからPOSTに変更
- POSTメソッドの引数に、表示したいコメントを入れる
HTTPClient http;
String url = "https://xxxxxxxxxx"; // TeamsのIncoming WebhookのURL
//Serial.println("connect url: " + url);
if (http.begin(url))
{
Serial.print("[HTTP] POST...\n");
// start connection and send HTTP header
String payload = "{'text':'荷物が届いたよ'}";
int httpCode = http.POST(payload);
以前のソースコードからの変更箇所です。全ソースコードは前の記事を参考にして下さい。
まとめ
シンプルにTeamsと連携させたいなら、この方法が手っ取り早くて良いと思います。一方、クラウド側で処理を追加したり、分岐して並列で別な処理をさせたりしたいなどがあれば、以前の方法が良いと思います。あとは、ケースバイケースだと思うので好きに使って下さい。ATOM Liteは安くて便利です。