You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现Zephyr Squad测试执行状态变更时触发Jenkins任务?

针对Zephyr Squad测试执行状态变更触发Jenkins API的解决方案

1. 监听Zephyr专属事件

Zephyr Squad 9.x版本提供了测试执行状态变更的专属事件类,你可以通过编写自定义Jira插件来监听:

  • 核心事件类:com.thed.zephyr.api.event.testexecution.TestExecutionStatusUpdatedEvent
  • 实现步骤:
    • 创建Jira插件项目,引入Zephyr Squad的依赖包
    • 编写监听器类,使用@EventListener注解(或实现Jira的EventListener接口)监听上述事件
    • 在事件处理方法中,调用Jenkins的API接口完成请求发送

2. 拦截Zephyr API请求

既然状态变更仅调用Zephyr自身的/rest/zephyr/接口,可通过自定义Filter拦截对应请求:

  • 实现javax.servlet.Filter接口,拦截测试执行状态更新的API路径(比如/rest/zephyr/latest/testexecution/*/status)
  • 在Filter的doFilter方法中,校验请求参数确认是状态变更操作后,异步调用Jenkins API,避免影响Zephyr接口的响应速度
  • 注意要兼容Zephyr的权限验证逻辑,确保只处理合法的操作请求

3. 检查Zephyr自带Webhook支持

先确认Zephyr Squad 9.1.3是否内置了测试执行事件的Webhook功能:

  • 进入Zephyr插件的设置页面,查找是否有“测试执行状态变更”相关的Webhook配置项
  • 如果有,直接配置Jenkins的API地址即可,无需编写代码,这是最简便的方案

最后备选:Jira Issue状态联动

如果以上方法都无法实现,再考虑联动Jira Issue状态:

  • 编写自定义逻辑(或利用Zephyr自动化规则),当Test Execution Status变更时,同步更新对应的Jira Issue状态
  • 借助Jira原生的IssueUpdate事件,通过Webhook触发Jenkins API请求

内容的提问来源于stack exchange,提问作者Nick OGS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 14:50:29