これは Mackerel Advent Calendar 2024 の22日目の記事です。
2024年 Teams通知の仕様変更
MackerelにはアラートをTeamsへ通知する機能がありますが、今年のMicrosoftによるTeams側の受信仕様の変更により、これまでの方式であるIncoming Webhook方式が使えなくなりました。
早速Mackerelさんでも仕様変更に対応したようで、新しいワークフロー方式に対応していました。
こちらの手順で試してみたところ、ちゃんとteamsに通知されました。
どういう仕組みなのか
このワークフロー方式によるteams通知というのは、どうやら裏でMicrosoftのオートメーションサービスPowerAutomateが動いているようで、実際にPowerAutomateのサイトを見に行くと、マイフローとして作成されていました。
このフローの中身を覗いてみると、
Webhookで受信したコンテンツをAdaptiveCardというJsonデータの方式でTeamsのチャネルに投稿していることが分かりました。
これなら色んなことが出来る
この仕組みを理解した時に、夢が広がりました。PowerAutomateは強力な自動化ツールであり、ノーコードで色んな自動化フローを作れます。
アラート通知がPowerAutomateの仕組みに入ってくるなら、アラートをきっかけに色んなフローを展開できるじゃないか...と。
Teams通知を拡張してみる
①PowerAutomateで「アダプティブ カードを投稿して応答を待機する」アクション追加
{
"type": "AdaptiveCard",
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.4",
"body": [
{
"type": "ImageSet",
"images": [
{
"type": "Image",
"size": "Medium",
"url": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizl0stbZDuXfC5d82z8wiKa3Z_msRxq9ByGG5OBNLx3ZMnj9yiyxJtMVohJhcYK5MpmEw5QvlgRamRnvdeHcT2R8cfLMWddi_JZ-99r_kKyxhjnODlFEKQcD71svPR-sGZvdB33vwybCE/s800/christmas_mark01_santa.png"
}
]
},
{
"type": "TextBlock",
"text": "このアラート対応するひと~?",
"wrap": true,
"size": "Large",
"weight": "Bolder"
},
{
"type": "ActionSet",
"actions": [
{
"type": "Action.Submit",
"title": "私がやる"
}
]
}
]
}
②PowerAutomateで「チャネル内のメッセージで応答します」アクション追加
メッセージIDでは元のアラートメッセージのID、メッセージでは応答者の名前を取得してメッセージ追記。
③ SharePointのチームサイトでアラート対応履歴用のリストを作成
④ PowerAutomateで「項目の作成」アクションを追加
パラメーターの「タイトル」「アラート内容」には元のアラート通知の対応する情報を割り当て、「対応者」には応答者を割り当てる。
アラートを送信してみる
アラート対応者を求める呼びかけが来ました。アドベントカレンダーということで素敵なクリスマス仕様のアラートプレゼントです。
「私がやる」ボタンを押すと...
アラートメッセージに返信する形で、対応者の名前とメッセージが届きました。
これを見た人は対応者に敬意を表してハートなどのリアクションをすると良いですね。
Sharepointリストの方を見てみると...
アラート内容としてアラート通知チャットのリンクと、対応者が記録されていました。
成功しましたっ!!
実際に運用するには、回復通知も考慮する必要があるでしょう。
また、アラート通知の中身をjsonで読み取ればもっと拡張が出来るかもしれません。
夢が広がりました。