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

求Jira DC中Issue的Activity获取API及Xray导入无事件触发解决方案

解决方案

一、Jira Activity 获取 API

可以使用Jira REST API的变更日志端点获取Issue的所有活动记录:

GET /rest/api/3/issue/{issueIdOrKey}/changelog

关键参数说明:

  • issueIdOrKey: 目标Issue的ID或Key(例如TEST-123)
  • startAt: 分页起始位置,默认0
  • maxResults: 每页返回的最大结果数,默认100
  • expand: 可选,指定扩展字段,比如expand=changelog.items可获取更详细的变更项

该API会返回Issue的所有变更记录,包括操作类型、操作人、变更时间、字段前后值等信息,完全满足Activity数据获取需求。

二、Xray Importer 场景处理方案

1. 调整Webhook触发规则

检查Jira Webhook配置:

  • 确保勾选Issue updated事件,并包含所有子事件(如字段更新、关联关系变更等)
  • 明确指定触发Webhook的Issue类型为Xray的Test、Test Plan、Test Set,避免遗漏

部分批量导入工具会绕过标准事件触发流程,可在Importer完成后,手动对导入的Issue执行一次微小字段更新(比如修改自定义备注字段),验证是否能触发Webhook,确认是否为事件触发逻辑问题。

2. 定时轮询+变更日志对比

针对Importer不触发Webhook的情况,采用定时轮询方案:

  • 每隔固定时间(比如5分钟)调用上述Changelog API,拉取指定项目下所有Xray类型Issue的变更记录
  • 记录每次轮询的时间戳,仅处理本次轮询中新出现的变更记录
  • 将符合条件的变更记录转换为Issue负载,发送至Cosmos

3. 利用Xray专属API监听导入

Xray提供了管理测试实体的REST API,可通过以下接口查询最近导入的测试用例/计划/集合:

GET /rest/raven/1.0/api/test?updatedAfter={timestamp}
GET /rest/raven/1.0/api/testplan?updatedAfter={timestamp}
GET /rest/raven/1.0/api/testset?updatedAfter={timestamp}

通过updatedAfter参数指定上次同步的时间,获取该时间之后更新或新增的Xray实体,再将这些实体转换为Issue负载发送至Cosmos。

4. 自定义脚本强制触发事件

使用Jira的ScriptRunner插件编写脚本:

  • 监听Xray Importer的完成事件(若Xray提供相关事件),或定时检测Importer操作日志
  • 对导入的Issue执行一次无意义字段更新(比如更新自定义的“Import Trigger”字段为当前时间),强制触发Issue更新事件,激活Webhook

内容的提问来源于stack exchange,提问作者Nithu Brijita

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 15:22:10