蒲公英文档中心

Webhook 设置

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

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

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

前置要求

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

Webhook 类型

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

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

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

可推送的事件

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

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

创建 Webhook

  1. 填写基本信息。进入应用的 设置Webhook 设置,点击 创建 Webhook,填写 名称,并在 Webhook 类型 中选择目标平台。
  2. 填写 URL。填入接收消息的 URL。接入群机器人时,填入对应平台分配的 Webhook URL。
  3. 选择推送内容与状态。在 选择要推送的功能 中勾选需要订阅的事件;在 是否开启@成员 中决定群机器人推送消息时是否 @群成员(仅对群机器人类型生效);将 Webhook 状态 设置为 开启 Webhook,点击 保存信息

保存后,当相关事件发生时,蒲公英会将消息推送到您设置的 URL。

同一个应用最多可添加 3 个 Webhook,重复上述步骤即可创建多个。

数据协议

蒲公英通过 HTTP POST 请求发送事件,Content-Typeapplication/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应用所属平台,常见取值为 iOSAndroid
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

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

本页目录