Webhook
管理员可以设置 Webhook,以便人们可以向特定 URL 发送警报。这意味着您可以设置警报,将问题的结果发送到您选择的端点:您的应用程序、第三方服务或任何其他地方。
目前,Webhook 仅适用于警报;您不能选择 Webhook 作为仪表板订阅的接收者。
创建 Webhook
在将警报发送到 Webhook 之前,管理员需要创建一个要定位的 Webhook。
管理员可以通过点击**齿轮图标** > **管理设置** > **通知渠道**来创建 Webhook。在**警报 Webhook**中,点击**+ 添加另一个**。Metabase 将为您提供一个简短的表单来填写。
- Webhook URL。您希望 Metabase 将警报结果发送到的位置。必须是有效的 URL。
- 给它起个名字。您必须为 Webhook 命名,以便人们在设置问题警报时可以选择正确的 Webhook。
- 描述。您应该告诉人们 Webhook 的用途。
- 认证方法。请参阅下文。
Webhook 认证方法
您可以为 Webhook 指定一个认证方法。
- 无:无限制。
- 基本:设置用户名和密码。
- Bearer:包含一个秘密令牌。
- API 密钥:您可以将 API 密钥添加到 Header 或作为查询参数。这两种方法都需要一个密钥和值(API 密钥本身)。
Webhook 有效负载
Metabase 将以 JSON 格式发送警报结果。JSON 将包含一些关于问题的元数据,例如警报的创建者及其 ID(测试警报为null
)。
Metabase 将把“附加”的可视化以 base64 编码的 PNG 格式发送到数据
键下的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": "https://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 的文档。