Prism CentralのX-Play PlaybooksのWebhook機能でMS Teamsにアラートを通知する
概要
Prism CentralのX-Play PlaybooksのWebhook機能でMS Teamsに通知する
背景
MS Teamsには受信Webhookにて、ほかのアプリから通知を受け取り、チャネルやチャットに表示する機能がある。
これまではコネクタを利用したIncomming Webhookが利用されており、NutanixのX-Play
Playbookもこの機能に対応している。
しかし、以下の記事にある通り、コネクタを利用したIncomming Webhookは2025年末に廃止となり、代わりにWorkflow(Power Automate)を利用したWebhookへの移行が必要となる
MS Teams - Incomming
Webhookの廃止
Retirement
of Office 365 connectors within Microsoft Teams
Incomming Webhookを利用したX-Play Playbooksによる通知設定
従来のIncomming Webhookで通知する場合は、X-Playにデフォルトで用意されているActionのうち、「Microsoft Teams」を利用する。
設定は非常に簡単である。MS Teams側で生成したWebhook URLを貼り付けて、任意のメッセージを通知することができる。
メッセージ内容はPlaybooksのTriggerとなったイベントの情報や、Playbooks内の他のアクションの出力などを埋め込むことができる。
以下の例では、Playbookの実行日時(Playbook:
Current Time)を埋め込んでいる。
実際に通知した際は以下のような表示となる。
MS Teamsの新しい受信Webhookに対応したX-Play Playbooksの通知設定
新しい受信Webhookの仕様は以下のページに記載がある。
Microsoft
Teams - Connectors | Microsoft Learn
細かい説明は省くが、Incomming Webhookと異なりRequest
Bodyのフォーマットが指定されており、Incomming Webhookと同じやり方では通知することができなくなっている。
そこでより柔軟なリクエストを記述可能なREST APIのActionを利用する。
具体的には以下のように記載をする
URLは、MS Teamsで生成したWebhook URLをそのまま貼り付ける。
Request Bodyは受信Webhookの仕様のページにあるサンプルをそのまま流用している
|
{
"type":"message", "attachments":[ { "contentType":"application/vnd.microsoft.card.adaptive", "contentUrl":null, "content":{ "$schema":"http://adaptivecards.io/schemas/adaptive-card.json", "type":"AdaptiveCard", "version":"1.2", "body":[ { "type": "TextBlock", "text": "{{playbook.current_time}}" } ] } } ] } |
textのところに、Playbookの実行日時(Playbook: Current Time)を埋め込んでいる
Request Headerは以下のように記載する
|
Content-Type:Application/json
|
実際に通知した際は以下のように表示される
まとめ
本記事ではMS Teamsの新しいWebhookに対応したPlaybooks Actionの記載方法について紹介した。
記事内では簡易的なサンプルとして実行日時の情報のみを通知しているが、実際はもっと様々な情報を柔軟に通知することが可能である。
X-Play Plabooksの機能はNCMのライセンスに含まれるが、評価ライセンスでも試すことができるので、もし興味が湧けば、ぜひいろいろと試していただきたい。
コメント
コメントを投稿