1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MackerelAdvent Calendar 2024

Day 22

夢が広がるMackerelのTeams通知

Last updated at Posted at 2024-12-21

これは Mackerel Advent Calendar 2024 の22日目の記事です。

2024年 Teams通知の仕様変更

MackerelにはアラートをTeamsへ通知する機能がありますが、今年のMicrosoftによるTeams側の受信仕様の変更により、これまでの方式であるIncoming Webhook方式が使えなくなりました。
早速Mackerelさんでも仕様変更に対応したようで、新しいワークフロー方式に対応していました。
こちらの手順で試してみたところ、ちゃんとteamsに通知されました。
image.png

どういう仕組みなのか

このワークフロー方式によるteams通知というのは、どうやら裏でMicrosoftのオートメーションサービスPowerAutomateが動いているようで、実際にPowerAutomateのサイトを見に行くと、マイフローとして作成されていました。
image.png

このフローの中身を覗いてみると、
Webhookで受信したコンテンツをAdaptiveCardというJsonデータの方式でTeamsのチャネルに投稿していることが分かりました。
image.png

これなら色んなことが出来る

この仕組みを理解した時に、夢が広がりました。PowerAutomateは強力な自動化ツールであり、ノーコードで色んな自動化フローを作れます。
アラート通知がPowerAutomateの仕組みに入ってくるなら、アラートをきっかけに色んなフローを展開できるじゃないか...と。

Teams通知を拡張してみる

Mackerel標準のTeams通知は以下の通りですが、
image.png

これを以下のような双方向のフローに拡張してみます。
image.png

①PowerAutomateで「アダプティブ カードを投稿して応答を待機する」アクション追加

image.png
メッセージには以下のようなjsonを追記

{
    "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で「チャネル内のメッセージで応答します」アクション追加

image.png
メッセージIDでは元のアラートメッセージのID、メッセージでは応答者の名前を取得してメッセージ追記。

③ SharePointのチームサイトでアラート対応履歴用のリストを作成
  • 新規リストの作成
    image.png
  • 「アラート内容」と「対応者」の2つの列を追加
    image.png
④ PowerAutomateで「項目の作成」アクションを追加

image.png
パラメーターの「タイトル」「アラート内容」には元のアラート通知の対応する情報を割り当て、「対応者」には応答者を割り当てる。

フローが完成しましたので保存します。
image.png

アラートを送信してみる

Mackerelでteamsの通知テスト実行
image.png

通常の通知のあとに...
image.png

アラート対応者を求める呼びかけが来ました。アドベントカレンダーということで素敵なクリスマス仕様のアラートプレゼントです。
image.png

「私がやる」ボタンを押すと...
image.png
アラートメッセージに返信する形で、対応者の名前とメッセージが届きました。
これを見た人は対応者に敬意を表してハートなどのリアクションをすると良いですね。

Sharepointリストの方を見てみると...
image.png
アラート内容としてアラート通知チャットのリンクと、対応者が記録されていました。

成功しましたっ!!

実際に運用するには、回復通知も考慮する必要があるでしょう。
また、アラート通知の中身をjsonで読み取ればもっと拡張が出来るかもしれません。
夢が広がりました。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?