Message Pusher 的自定义 Webhook 功能如何使用

标签: 消息推送 发布于:2023-05-10 15:27:34 编辑于:2023-05-11 14:56:30 浏览量:5006

概述

有大量已有的系统已经预先定义好了 Webhook 格式,Message Pusher 的自定义 Webhook 功能可以对这些系统进行反向适配。

目前仅支持 POST JSON 格式的请求,如果你需要支持其他格式的请求,请提 issue 反馈。

提取规则

提取规则用于从第三方系统的请求中提取出信息,用于后续的消息体的构建。

假设请求体为:

{
    "test": 555,
    "attr": "www",
    "temp": {
        "sub":"333"
    }
}

我们想使用 test 字段的值作为标题,sub 字段的值作为描述,则提取规则可以这样写:

{
  "title": "test",
  "description": "temp.sub",
  "content": "attr",
  "url": "test"
}

注意,该 JSON 的键部分的具体命名可以随意,这里只是示例。这些键即是我们之后要用的模板变量。

当 Webhook 被触发时,Message Pusher 会根据你预先定义好的提取规则给模板变量赋值。

构建规则

构建规则用于构建消息体,注意,其键的部分是固定的,不能进行修改,而值的类型也必须是字符串,其中可使用我们之前定义好的模板变量。

例如:

{
  "title": "$title",
  "description": "描述信息:$description",
  "content": "内容:$content"
  "url": "$url"
}

Message Pusher 会将这里的 $title$description 替换为上一步提取出的值。

实战:通过 Webhook 监听 GitHub 仓库的 star 数量变化

根据 GitHub 关于 Webhook 的开发文档,提取规则可定义如下:

{
  "action": "action",
  "user": "sender.login",
  "repository": "repository.full_name"
}

构建规则定义如下:

{
  "title": "GitHub Star Event: $action",
  "description": "$user $action a star on $repository."
}

之后复制 Webhook 连接,前往你的仓库的设置标签下 Webhooks 页面添加即可。

注意 Content type 选择 JSON 格式,事件类型手动选择 Stars。

效果: 826ae2715a329ed937da74da0c6d690.jpg

未经允许,禁止转载,本文源站链接:https://iamazing.cn/