Webhooks

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

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

创建webhook

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

管理员可以通过点击齿轮图标 > 管理员设置 > 通知通道来创建webhook。在警报的webhooks中,点击+ 添加另一个。Metabase将为您提供一份简短的表格来填写。

  • Webhook URL。这是您希望Metabase发送警报结果的地址。必须是一个有效的URL。
  • 给它一个名字。您需要为Webhook命名,以便人们在设置问题警报时能选择正确的钩子。
  • 描述。您可能需要告诉人们这个钩子是用来做什么的。
  • 认证方法。请见下文。

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版本的文档。

想要改进这些文档? 提出更改。