MS Teams チャンネルへのメッセージ投稿

このドキュメントでは、Webhookを使用してMS Teamsチャンネルにメッセージを投稿する方法を説明します。

MS Teamsにおける

新しいMS Teamsチャンネルを作成した後、Microsoft Power Automateを使用して新しいワークフローを設定します。

  1. 作成したチャンネルの三点ドットをクリックし、ワークフローを選択します。

  2. ポップアップから、Webhook要求を受信した時にチャンネルに投稿オプションを探して選択します。 下の画像を参照してください。

  1. ワークフローの名前を設定し、ワークフロー接続を定義します。

  • NexthinkのWebhookを使用して通知するためのMS Teamsのチャンネルを定義します。

  1. ワークフローを追加ボタンを選択して、新しいワークフローを作成します。

  2. 将来の参照のためにURLをコピーします。 それは、コネクタ証明書とNexthinkのWebインターフェースでのWebhook設定のためのものです。 下の画像を参照してください。

  • URLの例: https://xxxxx.your-instance.logic.azure.com:443/workflows/XXXXXXXXXXXXX/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=yhejWbe6e03M9-cvU-hXXXXXXXXXXXXX

  1. ワークフローの管理を選択します。

  • 出力形式がattachmentsに設定されていることを確認します。

  • Adaptive cardとしてcontentが定義されていることを確認してください。

  • プライベートチームチャンネルには、ドロップダウンを使用して投稿者: ユーザーを設定します。 それ以外の場合は、Fow Botを選択することができます。

Entra IDにおいて

In Nexthinkセクションにジャンプし、コネクタ証明書にOAuth 2.0の認証が不要な場合は続行してください。

Microsoft Entra IDで以下の手順に従ってください:

  1. Entra IDインスタンスに移動し、新しいアプリケーションを登録します。

  • 管理 > アプリ登録 > 新しい登録

  1. アプリケーションの名前を付け、サポートするアカウントタイプを定義します。

  2. アプリケーションを登録し、今後の参照用にアプリケーションIDをコピーして、コネクタ証明書を認証付きで構成する際に使用します。

  3. 新しいクライアントシークレットをクリックし、経験の日付を定義します。

  4. コネクタ証明書を認証付きで構成する際に使用するため、今後の参照用にシークレット(IDではありません)をコピーします。

  • シークレットは作成後のみコピーできます。

  1. API権限タブに移動し、サインインユーザーとしてMicrosoft Flowにアクセス許可を追加します。

  2. 登録したアプリのオーバービューに戻り、エンドポイントタブに移動します。

  3. Webhookの設定の際に使用するため、今後の参照用に**OAuth 2.0トークンエンドポイント(v2)**を保存してください。

Nexthinkにおいて

Nexthinkウェブインターフェースから:

認証なしでMS Teamのコネクタ証明書を設定する

コネクタ証明書設定ページから、MS Teamsで設定されたインカミングWebhookの情報を使ってフィールドを記入します:

  1. プロトコルドロップダウンからHTTPSオプションを選択します。

  2. MS TeamsからURLのルートhttps://xxxxx.your-instance.logic.azure.com:443URLアドレスフィールドに貼り付けます。

  3. 認可ドロップダウンから**No Auth (なし)**オプションを選択してください。

  4. 資格情報を保存します。

認証付きでMS Teamのコネクタ証明書を設定する

コネクタ証明書設定ページから、MS Teamsで設定されたインカミングWebhookの情報を使ってフィールドを記入します:

  1. プロトコルドロップダウンからHTTPSオプションを選択します。

  2. MS TeamsからURLのルートhttps://xxxxx.your-instance.logic.azure.com:443URLアドレスフィールドに貼り付けます。

  3. 認可ドロップダウンからOAuth 2.0 - クライアント機密情報オプションを選択します。

  4. Entra IDアプリケーション登録の値を使用して、アクセストークンURLクライアントIDクライアントシークレットを入力します。

  5. 資格情報を保存します。

MSチャンネル用のWebhookを設定する

Webhook設定ページから、MS Teamsで作成した接続とNexthinkで定義したコネクタ証明書の情報を使ってフィールドを記入します:

  1. Webhook NQL条件の設定ドキュメントに従ってNQL条件を記入してください。 以下のクエリを参照してください。

alert.alerts
| where monitor.tags contains "web-applications"
| where alert.context contains "*Salesforce*" or alert.context contains "*Microsoft*"
| list alert.monitor.name, alert.status, monitor.tags, alert.context, trigger_time, recovery_time, alert.monitor.thresholds, monitor.priority, alert.trigger_values, alert.trigger_reference_value, alert.recovery_values, alert.context, device_view_link , issue_view_link
  1. 認証のある場合とない場合で、資格情報ドロップダウンからMS Team用の設定済みコネクタ証明書を選択します。

  2. メソッドドロップダウンからPOSTを選択します。

  3. MS Teams設定からルートURLアドレスを除いたURLエンドポイントをリソースフィールドに貼り付けます。 たとえば: /workflows/XXXXXXXXXXXXXXXXXXX/triggers/manual/paths/invoke?api-version=?????&sp=/triggers/manual/run&sv=1.0&sig=XXXXXXXXXXXXXXX

  • URLがエンコードされていないことを確認してください。

  1. ペイロードに送信したいメッセージを追加します。 下記の例を参照してください。

{
  "type": "message",
  "attachments": [{
      "contentType": "application/vnd.microsoft.card.adaptive",
      "content": {
        "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
        "type": "AdaptiveCard",
        "version": "1.0",
        "msteams": {
          "width": "Full"
        },
        "body": [{
            "type": "TextBlock",
            "text": "Nexthink Alert",
            "id": "Title",
            "spacing": "Medium",
            "horizontalAlignment": "Center",
            "size": "ExtraLarge",
            "weight": "Bolder",
            "color": "Accent"
          }, {
            "type": "Container",
            "items": [{
                "type": "TextBlock",
                "text": "{{alert.alert.context.application.name}},{{alert.monitor.name}}",
                "wrap": true,
                "color": "Default",
                "size": "Medium"
              }
            ],
            "style": "emphasis"
          }, {
            "type": "FactSet",
            "facts": [{
                "title": "Assigned to",
                "value": "Infrastructure Team"
              }, {
                "title": "Triggered on: ",
                "value": "{{alert.alert.trigger_time}}"
              }, {
                "title": "Application Name",
                "value": "{{alert.alert.context.application.name}}"
              },
            ]
          }, {
            "type": "TextBlock",
            "text": "Condition breached:",
            "wrap": true
          }, {
            "type": "Table",
            "columns": [{
                "width": 1
              }, {
                "width": 1
              }, {
                "width": 1
              }, {
                "width": 1
              }
            ],
            "rows": [{
                "type": "TableRow",
                "cells": [{
                    "type": "TableCell",
                    "items": [{
                        "type": "TextBlock",
                        "text": "Metric name",
                        "wrap": true
                      }
                    ]
                  }, {
                    "type": "TableCell",
                    "items": [{
                        "type": "TextBlock",
                        "text": "Threshold",
                        "wrap": true
                      }
                    ]
                  }, {
                    "type": "TableCell",
                    "items": [{
                        "type": "TextBlock",
                        "text": "Metric value",
                        "wrap": true
                      }
                    ]
                  }, {
                    "type": "TableCell",
                    "items": [{
                        "type": "TextBlock",
                        "text": "Baseline Value",
                        "wrap": true
                      }
                    ]
                  }
                ]
              }, {
                "type": "TableRow",
                "cells": [{
                    "type": "TableCell",
                    "items": [{
                        "type": "TextBlock",
                        "text": "{{alert.alert.trigger_values[0].alias}}",
                        "wrap": true
                      }
                    ]
                  }, {
                    "type": "TableCell",
                    "items": [{
                        "type": "TextBlock",
                        "text": "{{alert.monitor.thresholds[0].value}}",
                        "wrap": true
                      }
                    ]
                  }, {
                    "type": "TableCell",
                    "items": [{
                        "type": "TextBlock",
                        "text": "{{alert.alert.trigger_values[0].value}}",
                        "wrap": true
                      }
                    ]
                  }, {
                    "type": "TableCell",
                    "items": [{
                        "type": "TextBlock",
                        "text": "{{alert.alert.trigger_reference_value}}",
                        "wrap": true
                      }
                    ]
                  }
                ]
              }, {
                "type": "TableRow",
                "cells": [{
                    "type": "TableCell",
                    "items": [{
                        "type": "TextBlock",
                        "text": "{{alert.alert.trigger_values[1].alias}}",
                        "wrap": true
                      }
                    ]
                  }, {
                    "type": "TableCell",
                    "items": [{
                        "type": "TextBlock",
                        "text": "{{alert.monitor.thresholds[1].value}}",
                        "wrap": true
                      }
                    ]
                  }, {
                    "type": "TableCell",
                    "items": [{
                        "type": "TextBlock",
                        "text": "{{alert.alert.trigger_values[1].value}}",
                        "wrap": true
                      }
                    ]
                  }, {
                    "type": "TableCell",
                    "items": [{
                        "type": "TextBlock",
                        "text": "",
                        "wrap": true
                      }
                    ]
                  }
                ]
              }
            ],
            "showGridLines": false
          }, {
            "type": "ActionSet",
            "actions": [{
                "type": "Action.OpenUrl",
                "title": "Nexthinkで見る",
                "URL": "{{alert.alert.issue_view_link}}"
              }
            ]
          }
        ]
      }
    }
  ]
}
  1. メッセージがMS Teamsにプッシュされることを確認するためにテスト送信します。

Last updated

Was this helpful?