Webhook

管理員可以設定 Webhook,讓使用者將警示傳送到特定 URL。這表示您可以設定警示,將問題的結果傳送到您選擇的端點:您的應用程式、第三方服務或任何位置。

目前,Webhook 僅適用於警示;您無法選取 Webhook 作為儀表板訂閱的收件者。

建立 Webhook

在您可以將警示傳送到 Webhook 之前,管理員需要建立要作為目標的 Webhook。

管理員可以按一下齒輪圖示 > 管理設定 > 通知管道來建立 Webhook。在警示的 Webhook中,按一下 + 新增另一個。Metabase 將提供您一份簡短的表格填寫

  • Webhook URL。您希望 Metabase 將警示結果傳送到哪裡。必須是有效的 URL。
  • 給它一個名稱。您必須為 Webhook 命名,使用者才能在設定問題警示時選取正確的 Hook。
  • 描述。您可能應該告訴使用者 Hook 的用途。
  • 驗證方法。請參閱下方。

Webhook 驗證方法

您可以為 Webhook 指定驗證方法。

  • :任何方式皆可。
  • 基本:設定使用者名稱和密碼。
  • Bearer:包含秘密權杖
  • API 金鑰:您可以將 API 金鑰新增至標頭或作為查詢參數。這兩種方法都需要金鑰和值 (API 金鑰本身)。

Webhook 承載

Metabase 將以 JSON 格式傳送警示結果。JSON 將包含一些關於問題的中繼資料,例如警示的建立者及其 ID (在測試警示的情況下為 null)。

Metabase 將以 base64 編碼的 PNG 格式傳送「附加」視覺化效果,位於 data 金鑰下的 visualization 中。

The encoded PNG chart

以及在表格檢視中看到的資料,Metabase 將以 raw_data 格式傳送。

Results as table view

以下是警示的承載範例 (我們截斷了 PNG 編碼,因為它很長而且非常無聊)

{
  "type": "alert",
  "alert_id": null,
  "alert_creator_id": 2666,
  "alert_creator_name": "Roberto Bolaño",
  "data": {
    "type": "question",
    "question_id": 108,
    "question_name": "Sales",
    "question_url": "http://example.com/question/108",
    "visualization": "data:image/png;base64,=...LONG_ENCODED_PNG_HERE...",
    "raw_data": {
      "cols": [
        "CREATED_AT",
        "count"
      ],
      "rows": [
        [
          "2023-09-01T00:00:00Z",
          346
        ],
        [
          "2023-10-01T00:00:00Z",
          354
        ],
        [
          "2023-11-01T00:00:00Z",
          394
        ],
        [
          "2023-12-01T00:00:00Z",
          418
        ],
        [
          "2024-01-01T00:00:00Z",
          457
        ],
        [
          "2024-02-01T00:00:00Z",
          404
        ],
        [
          "2024-03-01T00:00:00Z",
          445
        ],
        [
          "2024-04-01T00:00:00Z",
          439
        ],
        [
          "2024-05-01T00:00:00Z",
          520
        ],
        [
          "2024-06-01T00:00:00Z",
          455
        ],
        [
          "2024-07-01T00:00:00Z",
          523
        ],
        [
          "2024-08-01T00:00:00Z",
          501
        ]
      ]
    }
  },
  "sent_at": "2024-09-30T20:16:15.76582Z"
}

延伸閱讀

閱讀其他Metabase 版本的文件。