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

如何通过JIRA REST API获取指定项目及组件的所有Fix版本列表?

通过JIRA REST API获取指定项目&组件的Fix版本并拉取对应工单

我明白你要解决的问题——先定位到指定项目和组件关联的所有Fix版本,再批量拉取这些版本下的所有JIRA工单。官方文档有时候确实会把细节藏得比较深,我来一步步给你拆解方案:

第一步:获取指定项目的所有版本(并初步筛选Fix版本)

JIRA的版本是绑定到项目的,所以先调用API获取目标项目的所有版本,再根据你的需求筛选「Fix版本」(通常指已发布的版本,也可以根据版本名称、自定义属性过滤)。

调用的API端点:

GET /rest/api/3/project/{projectKey}/versions

关键参数说明:

  • {projectKey}:替换成你的项目键(比如PROJ)
  • 可选参数:released=true——如果你的Fix版本是已发布状态,直接加这个参数能减少返回数据量

示例curl请求:

curl -u your-email:your-api-token -X GET "https://your-jira-domain.atlassian.net/rest/api/3/project/PROJ/versions?released=true"

返回的版本对象里,重点关注这几个字段:

  • id:版本唯一ID(后续拉取工单会用到)
  • name:版本名称
  • released:是否已发布
  • releaseDate:发布日期

第二步:筛选关联指定组件的Fix版本

JIRA没有直接返回「关联指定组件的版本」的API,因为版本和组件是通过工单间接关联的——一个工单同时属于某个组件、关联某个Fix版本。所以我们需要先拉取目标组件的所有工单,再提取它们的Fix版本并去重。

调用搜索API(用JQL筛选):

GET /rest/api/3/search

示例JQL查询语句:

project = PROJ AND component = "Your Target Component"

对应的curl请求:

curl -u your-email:your-api-token -X GET "https://your-jira-domain.atlassian.net/rest/api/3/search?jql=project%20%3D%20PROJ%20AND%20component%20%3D%20%22Your%20Target%20Component%22&fields=fixVersions"

遍历返回结果里每个工单的fields.fixVersions数组,收集所有版本的id和name,去重后就是你要的「指定项目及组件所属的Fix版本列表」。

第三步:拉取指定Fix版本的所有工单

拿到版本ID/名称列表后,用JQL批量查询对应版本的工单,支持一次性查询多个版本。

示例JQL(多版本查询):

project = PROJ AND fixVersion in ("Version 1", "Version 2", "Version 3")

对应的curl请求:

curl -u your-email:your-api-token -X GET "https://your-jira-domain.atlassian.net/rest/api/3/search?jql=project%20%3D%20PROJ%20AND%20fixVersion%20in%20(%22Version%201%22%2C%20%22Version%202%22%2C%20%22Version%203%22)&fields=id,key,summary,status"

实用小贴士:

  • 如果版本数量过多,JQL的in子句有长度限制,建议分批次查询
  • 用maxResults和startAt参数分页拉取大量工单,避免返回数据过载
  • API令牌可以在Atlassian账号的「安全设置」中生成,比账号密码更安全

内容的提问来源于stack exchange,提问作者GUMMADI VIJAYA KUMAR

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:02:51