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

如何通过Python获取JIRA特定项目工作流的所有状态?

如何用Python筛选JIRA特定项目工作流的状态

嘿,刚好我之前做过类似的JIRA报表工具,完全懂你现在的痛点——jiraInstance.statuses()返回的是全局所有状态,根本没法直接用在特定项目的报表里。给你分享两种靠谱的实现方法,按需选就行:

方法一:通过项目的工作流方案获取完整状态列表

这种方法能拿到该项目工作流里定义的所有状态(包括可能还没被任何缺陷使用过的状态),适合需要完整工作流视图的场景:

from jira import JIRA

# 初始化JIRA实例(根据你的配置调整)
jira = JIRA(server="你的JIRA站点URL", basic_auth=("用户名", "密码/API令牌"))

# 指定目标项目的key或名称
target_project_key = "PROJ123"

# 1. 获取项目详情,提取工作流方案ID
project = jira.project(target_project_key)
workflow_scheme_id = project.raw["workflowScheme"]["id"]  # 适配多数JIRA版本的字段路径

# 2. 获取工作流方案的详细信息,包含关联的工作流
workflow_scheme = jira.workflow_scheme(workflow_scheme_id)

# 3. 遍历工作流,收集所有状态
project_statuses = set()
for workflow_entry in workflow_scheme["workflows"]:
    workflow = jira.workflow(workflow_entry["workflowName"])
    for status in workflow["statuses"]:
        project_statuses.add((status["id"], status["name"]))  # 存储状态ID和名称

# 输出结果
print(f"项目{target_project_key}的工作流状态:")
for status_id, status_name in project_statuses:
    print(f"- {status_name} (ID: {status_id})")

方法二:从项目缺陷中提取实际使用的状态(更适合报表场景)

如果你的报表只需要该项目中实际存在的缺陷状态(毕竟报表要展示的是真实数据),这种方法更直接,而且不需要处理复杂的工作流方案逻辑:

from jira import JIRA

# 初始化JIRA实例
jira = JIRA(server="你的JIRA站点URL", basic_auth=("用户名", "密码/API令牌"))

target_project_key = "PROJ123"
# JQL查询:获取该项目下所有缺陷(可根据需求调整JQL,比如只查特定类型/时间段)
jql_query = f'project = {target_project_key} AND issuetype = Bug'

# 获取所有匹配的缺陷(maxResults=False获取全部结果)
issues = jira.search_issues(jql_query, maxResults=False)

# 提取状态并去重
used_statuses = set()
for issue in issues:
    used_statuses.add((issue.status.id, issue.status.name))

# 输出结果
print(f"项目{target_project_key}中缺陷实际使用的状态:")
for status_id, status_name in used_statuses:
    print(f"- {status_name} (ID: {status_id})")

小提示

  • 如果你用的是JIRA Cloud,记得用API令牌代替密码,别直接用账号密码哦。
  • 方法二的JQL可以根据报表需求优化,比如加上时间范围(created >= "2024-01-01"),只统计特定时间段的缺陷状态。
  • 两种方法的结果都可以整理成字典或者DataFrame,方便后续用pandas生成报表表格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:30:50