蒲公英文档中心

Webhook 设置

通过 Webhook 将蒲公英的应用事件消息推送到您指定的 URL,并与企业微信、钉钉、飞书等第三方平台打通。

Webhook 是一种通过自定义回调改变 Web 应用行为的机制,回调由第三方开发者自行维护。通过 Webhook,蒲公英可以在特定事件发生时将消息推送到您指定的 URL,从而与另一个平台或网站打通。例如,当您上传新版本时,蒲公英会将对应消息推送到您填写的地址。

蒲公英 Webhook 支持订阅应用更新、版本管理、App 设置、用户反馈、迁移应用、删除应用等事件,下文给出其中部分事件的数据格式示例。

前置要求

  • 已在蒲公英上传应用。
  • 已准备好可通过 HTTPS 访问的接收地址:可以是您自建的服务端接口,也可以是企业微信 / 钉钉 / 飞书群机器人分配的 Webhook 地址。

Webhook 类型

创建 Webhook 时需要选择类型,不同类型决定了蒲公英推送消息时采用的格式:

类型说明
其他以原始 JSON 格式推送到您自建的服务端接口,字段结构见下文 数据协议。
企业微信群机器人按企业微信机器人消息格式推送到指定群聊。
钉钉群机器人按钉钉机器人消息格式推送到指定群聊。
飞书群机器人按飞书机器人消息格式推送到指定群聊。

群机器人类型由蒲公英按对应平台的消息格式进行适配,无需您自行转换。

可推送的事件

创建 Webhook 时的 选择要推送的功能 中可勾选以下事件:

事件触发条件
应用更新应用有新版本上传时推送。
版本管理编辑、显示/隐藏、删除任意应用版本时推送。
App 设置App 设置发生任意改变时推送。
用户反馈收到或处理用户反馈时推送。
迁移应用应用被迁移到其他账户时推送。
删除应用应用被删除时推送。

创建 Webhook

  1. 填写基本信息。进入应用的 设置 → Webhook 设置,点击 新建 Webhook,填写 名称,并在 平台类型 中选择目标平台。
  2. 填写 URL。填入 HTTPS 接收地址。接入群机器人时,填入对应平台分配的 Webhook URL;页面会根据地址自动识别平台类型,也可以手动调整。
  3. 选择推送内容与状态。在 推送事件 中勾选需要订阅的事件;使用 通知相关用户 控制是否同步通知相关成员;将 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": "修复了若干已知问题"
}

字段说明

字段类型说明
actionstring事件名称,如 应用更新。
typestring事件类型的英文标识,用于程序化分派,如应用更新为 updateVersion。
titlestring应用名称。
linkstring应用在蒲公英上的下载页链接。
messagestring面向用户阅读的消息文案,群机器人消息的默认内容也来源于此。
os_versionstring应用版本号(即 versionName),并非操作系统版本,字段名仅为历史命名。
build_versionstring应用构建号(iOS 的 CFBundleVersion 或 Android 的 versionCode)。
createdstring事件创建时间,格式 YYYY-MM-DD HH:MM:SS。
updatedstring事件更新时间,格式同上。
timestampinteger事件 Unix 时间戳,单位为秒。
appsizestring应用安装包大小,单位为字节。
device_typestring应用所属平台,常见取值为 iOS、Android。
notesstring事件附加内容,应用更新事件中为版本更新说明。

服务端读取 POST RAW 数据即可获得消息体。以 PHP 为例:

$data = file_get_contents('php://input');

再进行 JSON 解码以解析具体字段:

$info = json_decode($data, true);

之后即可按业务需要处理,例如写入消息流或通知中心。

企业微信群机器人

  1. 打开企业微信,进入需要接收消息的群组。
  2. 打开群操作菜单,选择 添加群机器人 → 添加机器人,输入机器人名称并完成创建。
  3. 复制机器人分配的 Webhook URL,回到蒲公英 Webhook 创建页面填入 URL。

钉钉群机器人

  1. 打开群会话页右上角的设置,进入 智能群助手。
  2. 点击 添加 → 自定义机器人,输入机器人名称,将 安全设置 → 自定义关键词 设置为 应用,点击完成。
  3. 复制机器人分配的 Webhook URL,回到蒲公英 Webhook 创建页面填入 URL。

关键词之所以填 应用,是因为蒲公英推送的消息文案中包含"应用"二字,设置此关键词后才能通过钉钉的安全校验,否则消息会被钉钉拒收。

飞书群机器人

  1. 打开 群组设置 → 群机器人 → 添加机器人,选择 自定义机器人 并添加。
  2. 输入机器人名称及描述,点击 下一步。
  3. 将 安全设置 → 自定义关键词 设置为 应用,复制 Webhook 地址并点击 完成。
  4. 回到蒲公英 Webhook 创建页面,将复制的 URL 填入 URL。

关键词同样填 应用,原因与钉钉相同:蒲公英推送的消息文案中包含"应用"二字,设置此关键词后才能通过飞书的安全校验。

本页目录