Webhooks

管理员可以设置 Webhook,以便用户可以将警报发送到特定的 URL。这意味着您可以设置一个警报,将问题的结果发送到您选择的端点:您的应用程序、第三方服务或任何其他地方。

目前,Webhook 仅适用于警报;您不能选择 Webhook 作为仪表盘订阅的接收者。

创建 Webhook

在您可以将警报发送到 Webhook 之前,管理员需要创建一个目标 Webhook。

管理员可以通过点击 齿轮图标 > 管理员设置 > 通知通道 来创建 Webhook。在 警报 Webhooks 中,点击 + 添加另一个。Metabase 会给您一个简短的表单来填写

  • Webhook URL。您希望 Metabase 发送警报结果的地址。必须是有效的 URL。
  • 命名。您必须为 Webhook 命名,以便人们在为问题设置警报时选择正确的钩子。
  • 描述。您应该告诉人们此钩子的用途。
  • 身份验证方法。请参阅下文。

Webhook 身份验证方法

您可以为 Webhook 指定一个身份验证方法。

  • :不进行任何验证。
  • 基本:设置用户名和密码。
  • Bearer:包含一个密钥令牌
  • API 密钥:您可以将 API 密钥添加到 Header 或作为查询参数。两种方法都需要一个键和值(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 版本的文档。

© . All rights reserved.