コンテンツにスキップ

Webhook

Webhook は、特定のイベントが発生したときにサーバーサイド アプリケーションからクライアントサイド アプリケーションに自動的に情報をプッシュするよう構成可能な HTTP コールバックと定義されています。

たとえば、デプロイ済みの Mayhem インスタンスは、Mayhem ランが失敗または完了したとき、Webhook を使用して Slack や Google Chat などのクライアントサイド アプリケーションに通知を送信できます。Mayhem の Webhook は特定のユーザー、プロジェクト、または組織のランで発生するイベントをサブスクライブできます。

新規 Webhook の構成

Mayhem の Webhook は次の方法でアクセスおよび構成できます。

  • ユーザーは、[User Settings] ページで自分のプロジェクトの Webhook を構成できます。
  • 管理者権限を持つプロジェクト コントリビューターは、[Project Settings] ページでプロジェクトの Webhook を構成できます。
  • 組織オーナーは、[Organization Settings] ページで組織の Webhook を構成できます。
  • Mayhem 管理者は [Admin Settings] ページの [Webhooks] セクションからクラスターレベルですべての Webhook を構成できます。

Webhook 構成ページは次のようになります。

createnewwebhook

Webhook Name

Webhook を管理するための自由形式の名前です。

Subscription

Webhook はユーザー、組織、プロジェクトのイベントをサブスクライブできます。Mayhem 管理者は、このフィールドを使用して新規 Webhook のサブスクリプションを検索し、選択できます。ユーザー、組織オーナー、管理者権限を持つプロジェクト コントリビューターの場合、Webhook の作成を開始したユーザー、組織、プロジェクト設定画面に応じて、このフィールドにあらかじめ値が設定されています。

Webhook URL

Mayhem がイベントを送信する URL です。Webhook が使用する URL は、Mayhem クラスターからルーティング可能なパブリック IP アドレスに解決される必要があります。プライベート IP アドレスに解決される URL (例: 192.168.1.1) を使用しようとすると、エラーが発生します。

Webhook の URL にはトークンおよびその他の認証情報を含まれる場合があるため、Webhook のリストにはスキーマおよびドメインの部分だけが表示されます。完全な URL は [Edit Webhook] フォームにだけ表示されます。たとえば、Webhook のリストでは、https://example.com/mysecretlocation/webhookhttps://example.com と表示されます。

Tip

Webhook の URL を生成する方法については、Slack および Google Chat の公式ドキュメントを参照してください。

フォーマット

現在、2 つの Webhook フォーマットが実装されています。

  1. JSON v1 は、カスタム サービスによって処理するための構造化された機械処理可能な JSON を送信します。
{
  "message":"test",
  "triggered_at":"1970-01-01T00:00:00"
}
  1. Text (Slack) は、Slack チャネルにイベントをポストするための「受信 Webhook」で使用可能なメッセージを送信します。
{
  "blocks": [
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": ">:microscope: Test Message 1\n>:microscope: Test Message 2"
      }
    },
    {
      "type": "context",
      "elements": [
        {
          "type": "plain_text",
          "text": "Test Webhook from cURL\nWebhook: Name not defined"
        }
      ]
    }
  ]
}

イベント駆動型 Webhook

次の Webhook 通知タイプは、Mayhem クラスターでイベントが発生すると、ただちに Webhook イベントを送信します。

  • Run Started: ランが開始されるたびに送信されます。
  • Run Completed: ランが終了するたびに送信されます。ランが正常に終了した、停止された、または失敗したなど、ランの終了理由に関する情報が含まれます。

「ロールアップ」Webhook

Webhook は規模の大きいイベントの情報を約 15 分ごとに送信します。一致するイベントが発生しなかった場合、Webhook は送信されません。

  • Recent Test Cases Generated: 期間中にランが生成したテスト ケースの数がレポートされます。
  • Recent Crashes Found: 期間中に見つかったクラッシュの数がレポートされます。
  • Recent Defects Found: 期間中に見つかった欠陥の数がレポートされます。

Webhook の編集

Webhook を作成可能なすべての設定ページの Webhook リストから Webhook を編集できます。

名前およびサブスクリプションの選択は Mayhem への Webhook エントリを一意に識別するために使用されるため、変更できません。 既存の Webhook の URL、フォーマット、選択されたイベントを編集することができます。さらに、[Edit Webhook] フォームには、Webhook の構成をテストするのに使用できる curl コマンド呼び出しのサンプルが表示されます。

Webhook の削除

Webhook を作成可能なすべての設定ページの Webhook リストから Webhook を削除できます。