在团队协作开发中,每次代码提交后都要手动跑接口测试,确实有点麻烦。如果测试能跟着代码提交自动执行就好了。
其实这个想法完全可以实现。大部分团队都在用 CI/CD 平台来管理代码构建和部署,这些平台本身就能监听 Git 提交事件。当你推送代码时,平台会自动执行你预设的任务------比如编译、打包、部署等等。
既然平台能执行各种任务,那执行测试任务也不在话下。Apifox 提供了 CLI 命令行,可以通过简单的命令启动自动化测试。把这个命令配置到 CI/CD 流水线里,就能实现代码提交后自动测试的效果。
整个配置过程并不复杂,主要是理解触发原理,然后根据你们现有的平台选择合适的集成方式。
自动触发测试的原理
整个流程的核心就是 "事件监听 + 命令执行" 。
当你把代码推送到 Git 仓库时,CI/CD 平台会监听到这个 Git 事件,然后根据你预设的配置(如流水线脚本、配置文件)自动执行 Apifox 的测试命令。
这个原理用一张图来表示,大致是这样的:

CI/CD 平台监听 Git 事件的方式主要有两种。
第一种是平台内置的事件机制,比如 GitHub Actions 可以直接在配置文件里写 on: [push, pull_request]
,当你推送代码或创建 PR 时,平台会自动监听到这些 Git 事件并启动测试。

第二种是通过 Webhook,适合 Jenkins 这类需要跨平台联动的场景,需要你手动配置一个触发地址。
不管哪种方式,最终都会走到同一个步骤:执行 apifox run
命令来启动自动化测试。
主流平台的集成方案
如果你用的是 GitHub、GitLab 这类代码托管平台,触发测试会特别简单。这些平台都有内置的 CI/CD 服务(如 GitHub Actions、GitLab CI),可以直接监听 Git 事件并执行任务。你可以参考这些文档来快速上手:
不过很多团队的情况会复杂一些,比如代码放在 GitHub、GitLab 等平台,但 CI/CD 流水线跑在 Jenkins 上,这时候就遇到一个问题:GitHub、GitLab 等代码托管平台和 Jenkins 是两个独立的系统,前者无法直接调用后者的功能。
这种跨平台的场景一般就需要用 Webhook 来解决。Webhook 本质上是一个回调机制------当 GitHub 上发生特定事件(如 Git 代码推送)时,它会主动向指定的 Webhook URL 发送请求,通知外部系统。Jenkins 只要提供一个接收 Webhook 请求的 URL,就能在收到通知后自动启动测试任务。
我们来看一个具体的配置过程:代码托管在 GitHub,但测试流水线在 Jenkins 上执行。
GitHub + Jenkins 联动运行 Apifox 自动化测试
如果你所在团队的代码仓库在 GitHub,构建任务在 Jenkins 上跑,这一节可以作为参考。
第一步:配置 Jenkins 并获取 Webhook URL
首先需要在 Jenkins 里准备好测试任务。你可以按照 与 Jenkins 集成 的文档创建项目,配置好构建命令,确保 CLI 命令能正常执行。

接下来要获取 Jenkins 的 Webhook 地址。这个地址是外部系统调用 Jenkins 的入口,GitHub 会通过这个地址来触发测试任务。
最简单的方法是安装 "Generic Webhook Trigger" 插件。在 Jenkins 的插件管理页面搜索安装,重启后就可以使用了。

然后进入你的项目配置页面,启用这个插件。启用后,Webhook 地址就是:
HTML
http://<你的 Jenkins 服务地址>/generic-webhook-trigger/invoke

为了安全起见,建议设置一个自定义 Token,这样地址就变成:
HTML
http://<你的 Jenkins 服务地址>/generic-webhook-trigger/invoke?token=<xxxxxx>
拿到这个 URL 后,就可以去 GitHub 配置 Webhook 了。
第二步:配置 GitHub Webhook
进入你的 "GitHub 仓库 → Settings → Webhooks",新增一个 Webhook,填入上一步的地址,Content type 选择 application/json
,触发事件选择 push 或其他你需要的事件,保存即可。

配置完成后,每次代码推送都会自动触发 Jenkins 执行测试任务。你可以推送一次代码试试,然后到 Jenkins 查看构建日志和测试结果。
第三步:整体流程验证
Push 一次代码到 GitHub,由于我们配置了 Webhook,GitHub 会通过 Webhook URL 向 Jenkins 发送通知,Jenkins 收到通知后就会自动开始构建任务。你可以在 Jenkins 项目页面的"控制台"里看到测试执行日志,最终也能看到测试报告。
其他平台的 Webhook 配置
除了 GitHub,其他代码托管平台也都支持 Webhook,例如:
配置方法都大同小异,关键是理解整个触发机制:Git 提交会产生事件,然后通过事件监听或 Webhook 通知的方式,最终让 CI/CD 平台自动执行测试命令。
更多 CI/CD 平台的集成方法,可以参考 Apifox 官方文档的 CI/CD 集成部分。
欢迎各位用户对 Apifox 继续提出使用反馈和优化意见,我们会持续优化更新,致力于为用户提供更优秀的产品功能和更极致的使用体验!