Apifox 中如何将「消息通知」集成到第三方应用(企业微信、钉钉、飞书、Webhook、Jenkins)

Apifox 支持将「消息通知」集成到第三方应用平台,包括企业微信、钉钉、飞书、Webhook 和 Jenkins。具体可在项目的【项目设置->通知设置->外部通知】里新建一个通知事件,然后在弹出的界面中配置即可。

在配置界面可以选择需要的触发事件,例如接口变更、自动化测试、文档变更等,当这些事件在项目内被触发时,通知会实时发送到配置的第三方平台,例如飞书:

需要注意的是,事件的配置需要项目管理员权限,其它权限的成员无法进行此操作。目前,支持的“触发事件”如下:
触发事件 | 事件分类 |
接口变更 | 新建接口、修改接口、删除接口 |
数据模型变更 | 新建数据模型、修改数据模型、删除数据模型 |
文档变更 | 新建文档、修改文档、删除文档 |
导入数据 | 手动导入、自动导入 |
自动化测试 | 测试场景运行完成、CI/CD 运行完成 |
响应组件变更 | 新增响应组件、修改响应组件、删除响应组件 |
迭代分支变更 | 合并迭代分支、新增迭代分支、归档迭代分支、删除迭代分支、恢复迭代分支 |
下面我们就介绍一下怎么将「消息通知」与这几个平台进行关联,在此之前,请确保 Apifox 已更新到最新版。
企业微信
要将「消息通知」集成到企业微信,需要在企业微信的群聊机器人中获取 Webhook URL,然后将这个 Webhook 地址配置到 Apifox 中即可,下面为详细步骤。
首先打开企业微信,选择群聊,然后在群聊中选择“添加群机器人”。

如果在添加机器人时提示“还没有已发布的机器人”,那说明没有权限,或者没有在管理后台开启,这个时候需要到企业微信后台配置,地址为:https://work.weixin.qq.com/wework_admin/frame
。

如果你是企业微信的企业管理员,也可点击“管理企业”进入企业微信后台(不同版本可能不一样)。

然后在“应用管理”下方,选择“机器人”这个应用,把它开启并添加白名单。


回到企业微信群聊,添加一个群机器人,然后将生成的 Webhook 地址复制下来,以粘贴到 Apifox 中。


打开 Apifox,在项目中依次点击【项目设置->通知设置->外部通知】选项,然后在这里新建一个通知事件。

在弹出的配置界面,你可以选择一些“触发事件”,比如接口变更、文档变更、自动化测试、迭代分支变更等事件,并将企业微信生成的 Webhook 地址粘贴到“服务 URL”,配置完毕后保存即可。

现在,你可以在项目中做一些操作,以测试是否成功。当选择的事件被触发时,将在企业微信群聊中收到通知,比如,某个接口进行了修改,收到了相关的消息提示。

钉钉
要将「消息通知」集成到钉钉,需要在钉钉的群聊机器人中获取 Webhook URL,然后将这个 Webhook 地址配置到 Apifox 中即可,下面为详细步骤。
首先打开钉钉,选择一个内部群聊,然后依次点击【群设置->机器人->添加机器人】选项。

在弹出的界面中,选择“自定义”机器人。

在配置信息中,需要对其进行安全设置,比如“加签”,这里的密钥对应 Apifox 中的“加密密钥”,设置完毕后,保存即可。

这时,就会生成 Webhook 地址,复制下来,以粘贴到 Apfiox 中。

打开 Apifox,在项目中依次点击【项目设置->通知设置->外部通知】选项,然后在这里新建一个通知事件。

在弹出的配置界面,你可以选择一些“触发事件”,比如接口变更、文档变更、自动化测试、迭代分支变更等事件,并将钉钉生成的 Webhook 地址粘贴到“服务 URL”,如果有加密密钥,也一并填入,配置完毕后保存即可。

现在,你可以在项目中做一些操作,以测试是否成功。当选择的事件被触发时,将在钉钉群聊中收到通知,比如,执行了接口的自动化测试,便收到了相关的消息通知。

飞书
要将「消息通知」集成到飞书,需要在飞书的群聊机器人中获取 Webhook URL,然后将这个 Webhook 地址配置到 Apifox 中即可,下面为详细步骤。
首先打开飞书,选择一个群聊,然后依次点击【群设置->群机器人->添加机器人】选项。

在弹出的界面中选择“自定义机器人”。

然后配置相关信息后会生成一个 Webhook 地址,将该地址复制下来,以粘贴到 Apfiox 中。此外,还需要进行安全设置,这里可以增设一个“签名校验”,如下图所示:

打开 Apifox,在项目中依次点击【项目设置->通知设置->外部通知】选项,然后在这里新建一个通知事件。

在弹出的配置界面,你可以选择一些“触发事件”,比如接口变更、文档变更、自动化测试、迭代分支变更等事件,并将飞书生成的 Webhook 地址粘贴到“服务 URL”,如果有加密密钥,也一并填入,配置完毕后保存即可。

现在,你可以在项目中做一些操作,以测试是否成功。当选择的事件被触发时,将在飞书群聊中收到通知,比如,合并了一个迭代分支,便收到了相关的消息通知。

Webhook
除了将「消息通知」集成到第三方应用,还可以集成到自己搭建的 HTTP 服务,只需在服务端指定一个 POST 接口来接收参数即可。
比如服务端有一个名为POST http://127.0.0.1:8080/webhook
的 API 可接收入参,你可以将这个路径配置到 Apifox 中,如果有加密密钥,也一并填入,配置完毕后保存即可。

现在,你可以在 Apifox 项目中做一些操作,以测试是否成功。当选择的事件被触发时,Apifox 将发送类似以下的信息到指定的服务端 URL :
{
"event": "API_UPDATED",
"title": "接口修改提醒",
"content": "所在团队:Ring 共享项目 \n所在项目:宠物商店 \n迭代分支名称:main \n接口名称:获取顾客信息 \n接口路径:GET /user/208010884 \n状态:开发中 \n责任人:-- \n \n修改者:Ring \n修改时间:2024-05-13 23:40:36"
}
服务端拿到这些信息后,可以将其美化展示。

Jenkins
要将通知事件集成到 Jenkins 服务,可以通过 Jenkins 的 Generic Webhook Trigger 插件来获取 Webhook URL,然后将该 Webhook 地址配置到 Apifox 中即可。当 Apifox 中选择的接口变更、文档变更等事件被触发时,将会自动触发 Jenkins 发起一次构建行为,你可以在构建历史记录中查看消息,下面为详细步骤。
首先打开 Jenkins 服务,然后在插件市场搜索“Generic Webhook Trigger”插件,安装即可,安装完毕需要重启 Jenkins 服务。

然后在 Jenkins 中选择一个项目,在项目中依次点击【Configure->Build Triggers->Generic Webhook Trigger】选项(注意不同版本界面可能不一样),这里会生成一个 Webhook 地址,复制下来粘贴到 Apifox 中即可,注意需要将JENKINS_URL
替换为你的公网 IP 或域名。

此外,为了安全,还可以配置 Token,这里的 Token 对应 Apifox 里的“签名令牌”,相关信息配置完毕后,保存即可。

打开 Apifox,在项目中依次点击【项目设置->通知设置->外部通知】选项,然后在这里新建一个通知事件。

在弹出的配置界面,你可以选择一些“触发事件”,比如接口变更、文档变更、自动化测试、迭代分支变更等事件,并将 Jenkins 服务生成的 Webhook 地址粘贴到“服务 URL”,如果配置有 Token,也一填入到“签名令牌”中,配置完毕后保存即可。

现在,你可以在 Apifox 项目中做一些操作,以测试是否成功。当选择的事件被触发时,将自动触发 Jenkins 发起一次构建行为,可在构建历史记录中查看消息:

总结
Apifox 支持将「消息通知」集成到第三方应用平台,包括企业微信、钉钉、飞书、Webhook 和 Jenkins。管理员可以在项目的【项目设置->通知设置->外部通知】中配置通知事件,并选择需要的触发事件,例如接口变更、数据模型变更、文档变更等,当这些事件被触发时,通知会实时发送到配置的第三方平台。
请确保你有管理员权限,并更新到最新版本的 Apifox。如果使用中有任何问题或建议,欢迎随时在用户群反馈给我们。