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
中。
以及在表格檢視中看到的資料,Metabase 將以 raw_data
格式傳送。
以下是警示的承載範例 (我們截斷了 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 版本的文件。