如何通过JIRA API Call提取JIRA工单中特定表格字段数据
提取JIRA中“Requested Materials”表格字段数据的解决方案
- 第一步:确认字段的API标识符
页面显示的字段名称和JIRA API中实际使用的字段ID(通常为customfield_xxxx格式)可能不一致,先通过API获取工单完整字段列表定位目标字段:
import requests from requests.auth import HTTPBasicAuth # 替换为你的JIRA域名、工单Key、邮箱和API Token url = "https://your-jira-domain/rest/api/3/issue/ISSUE-KEY?expand=fields" auth = HTTPBasicAuth("your-email@example.com", "your-api-token") headers = {"Accept": "application/json"} response = requests.get(url, auth=auth, headers=headers) issue_fields = response.json()["fields"] # 遍历字段匹配目标名称,找到对应字段ID for field_key, field_value in issue_fields.items(): if isinstance(field_value, dict) and field_value.get("displayName") == "Requested Materials": print(f"目标字段ID:{field_key}")
- 第二步:解析表格字段的嵌套数据
找到字段ID后,提取并解析其数组格式的嵌套数据(每个元素对应表格一行):
# 替换为你找到的目标字段ID target_field_id = "customfield_12345" requested_materials = issue_fields[target_field_id] # 根据实际返回的JSON结构遍历解析,示例如下 for material_row in requested_materials: print(f"物料名称:{material_row.get('materialName')},数量:{material_row.get('quantity')}")
- 使用官方JIRA Python库简化操作
借助jira库可以更便捷地访问字段:
- 安装依赖:
pip install jira
- 提取字段数据:
from jira import JIRA # 初始化JIRA客户端 jira = JIRA(server="https://your-jira-domain", basic_auth=("your-email@example.com", "your-api-token")) issue = jira.issue("ISSUE-KEY") # 通过字段ID获取数据 requested_materials = getattr(issue.fields, target_field_id) for row in requested_materials: print(row)
- 常见问题排查
- 确保API Token拥有工单读取权限,且该字段未在项目配置中限制API访问
- 调用API时必须携带
expand=fields参数,或在fields参数中明确指定目标字段ID,否则默认不会返回所有自定义字段 - 若字段为空,返回值可能为
None,需提前做判空处理
内容的提问来源于stack exchange,提问作者Sandeep
相关产品推荐
相关产品推荐

