Webhook 设置
通过 Webhook 将蒲公英的应用事件消息推送到您指定的 URL,并与企业微信、钉钉、飞书等第三方平台打通。
Webhook 是一种通过自定义回调改变 Web 应用行为的机制,回调由第三方开发者自行维护。通过 Webhook,蒲公英可以在特定事件发生时将消息推送到您指定的 URL,从而与另一个平台或网站打通。例如,当您上传新版本时,蒲公英会将对应消息推送到您填写的地址。
蒲公英 Webhook 支持订阅应用更新、版本管理、App 设置、迁移应用、删除应用等事件,下文给出其中部分事件的数据格式示例。
前置要求
- 已在蒲公英上传应用。
- 已准备好接收消息的 URL:可以是您自建的服务端接口,也可以是企业微信 / 钉钉 / 飞书群机器人分配的 Webhook 地址。
Webhook 类型
创建 Webhook 时需要选择类型,不同类型决定了蒲公英推送消息时采用的格式:
| 类型 | 说明 |
|---|---|
| 其他 | 以原始 JSON 格式推送到您自建的服务端接口,字段结构见下文 数据协议。 |
| 企业微信群机器人 | 按企业微信机器人消息格式推送到指定群聊。 |
| 钉钉群机器人 | 按钉钉机器人消息格式推送到指定群聊。 |
| 飞书群机器人 | 按飞书机器人消息格式推送到指定群聊。 |
群机器人类型由蒲公英按对应平台的消息格式进行适配,无需您自行转换。
可推送的事件
创建 Webhook 时的 选择要推送的功能 中可勾选以下事件:
| 事件 | 触发条件 |
|---|---|
| 应用更新 | 应用有新版本上传时推送。 |
| 版本管理 | 编辑、显示/隐藏、删除任意应用版本时推送。 |
| App 设置 | App 设置发生任意改变时推送。 |
| 迁移应用 | 应用被迁移到其他账户时推送。 |
| 删除应用 | 应用被删除时推送。 |
创建 Webhook
- 填写基本信息。进入应用的 设置 → Webhook 设置,点击 创建 Webhook,填写 名称,并在 Webhook 类型 中选择目标平台。
- 填写 URL。填入接收消息的 URL。接入群机器人时,填入对应平台分配的 Webhook URL。
- 选择推送内容与状态。在 选择要推送的功能 中勾选需要订阅的事件;在 是否开启@成员 中决定群机器人推送消息时是否 @群成员(仅对群机器人类型生效);将 Webhook 状态 设置为 开启 Webhook,点击 保存信息。
保存后,当相关事件发生时,蒲公英会将消息推送到您设置的 URL。
同一个应用最多可添加 3 个 Webhook,重复上述步骤即可创建多个。
数据协议
蒲公英通过 HTTP POST 请求发送事件,Content-Type 为 application/json,消息体为 JSON。
应用有新版本上传时,推送的数据格式如下(实际字段值会有差异):
{
"action": "应用更新",
"title": "OooPlay",
"link": "https://www.pgyer.com/oooplay_test",
"message": "您的应用OooPlay有了新的版本(2.4)更新。",
"type": "updateVersion",
"os_version": "2.4",
"build_version": "139",
"created": "2015-10-09 11:25:16",
"updated": "2015-10-09 11:25:16",
"timestamp": 1444361118,
"appsize": "2238036",
"device_type": "iOS",
"notes": "修复了若干已知问题"
}字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
action | string | 事件名称,如 应用更新。 |
type | string | 事件类型的英文标识,用于程序化分派,如应用更新为 updateVersion。 |
title | string | 应用名称。 |
link | string | 应用在蒲公英上的下载页链接。 |
message | string | 面向用户阅读的消息文案,群机器人消息的默认内容也来源于此。 |
os_version | string | 应用版本号(即 versionName),并非操作系统版本,字段名仅为历史命名。 |
build_version | string | 应用构建号(iOS 的 CFBundleVersion 或 Android 的 versionCode)。 |
created | string | 事件创建时间,格式 YYYY-MM-DD HH:MM:SS。 |
updated | string | 事件更新时间,格式同上。 |
timestamp | integer | 事件 Unix 时间戳,单位为秒。 |
appsize | string | 应用安装包大小,单位为字节。 |
device_type | string | 应用所属平台,常见取值为 iOS、Android。 |
notes | string | 事件附加内容,应用更新事件中为版本更新说明。 |
服务端读取 POST RAW 数据即可获得消息体。以 PHP 为例:
$data = file_get_contents('php://input');再进行 JSON 解码以解析具体字段:
$info = json_decode($data, true);之后即可按业务需要处理,例如写入消息流或通知中心。
企业微信群机器人
- 打开企业微信,进入需要接收消息的群组。
- 打开群操作菜单,选择 添加群机器人 → 添加机器人,输入机器人名称并完成创建。
- 复制机器人分配的 Webhook URL,回到蒲公英 Webhook 创建页面填入 URL。
钉钉群机器人
- 打开群会话页右上角的设置,进入 智能群助手。
- 点击 添加 → 自定义机器人,输入机器人名称,将 安全设置 → 自定义关键词 设置为 应用,点击完成。
- 复制机器人分配的 Webhook URL,回到蒲公英 Webhook 创建页面填入 URL。
关键词之所以填 应用,是因为蒲公英推送的消息文案中包含"应用"二字,设置此关键词后才能通过钉钉的安全校验,否则消息会被钉钉拒收。
飞书群机器人
- 打开 群组设置 → 群机器人 → 添加机器人,选择 自定义机器人 并添加。
- 输入机器人名称及描述,点击 下一步。
- 将 安全设置 → 自定义关键词 设置为 应用,复制 Webhook 地址并点击 完成。
- 回到蒲公英 Webhook 创建页面,将复制的 URL 填入 URL。
关键词同样填 应用,原因与钉钉相同:蒲公英推送的消息文案中包含"应用"二字,设置此关键词后才能通过飞书的安全校验。