如何通过Python API从Jira工单获取需求及TestRail用例的关联链接?
获取Jira工单关联的需求和TestRail测试用例字段信息
要获取Jira工单中关联的需求和TestRail测试用例信息,核心是找到对应字段的内部键/ID,再通过API指定返回这些字段,具体步骤如下:
1. 定位目标字段的内部键/ID
Jira中这类关联字段通常是自定义字段或集成插件生成的字段,默认不会在issue()方法的返回结果中显示,需要先找到它们的内部标识:
方法1:通过Python代码枚举所有字段
运行以下代码,过滤出和需求、TestRail相关的字段:
from jira import JIRA myjira = JIRA(server="https://my.jiraserver.com/", basic_auth=(username, password)) fields = myjira.fields() # 遍历字段,查找目标字段 for field in fields: if "需求" in field["name"] or "TestRail" in field["name"]: print(f"字段显示名: {field['name']}") print(f"字段内部键: {field['key']}") print(f"字段ID: {field['id']}\n")
方法2:通过Jira页面查看
打开目标工单详情页,右键点击关联的需求/TestRail用例字段,选择「检查」,在HTML元素中查找data-field-id属性或name属性,即可得到字段的内部键或ID。
2. 指定字段获取工单详情
拿到字段键后,在调用issue()方法时通过fields参数指定要返回的字段(包含默认字段和目标自定义字段):
from jira import JIRA myjira = JIRA(server="https://my.jiraserver.com/", basic_auth=(username, password)) # 替换成你找到的需求字段键和TestRail字段键 requirement_field_key = "customfield_12345" testrail_field_key = "customfield_67890" # 获取工单,指定返回所有默认字段+目标自定义字段 issue = myjira.issue("PROJ-1", fields=f"*all,{requirement_field_key},{testrail_field_key}") # 访问字段值 # 如果字段是关联对象,可能需要进一步提取属性(如key、displayName) requirement = getattr(issue.fields, requirement_field_key) testrail_case = getattr(issue.fields, testrail_field_key) print(f"关联需求: {requirement}") print(f"TestRail测试用例: {testrail_case}")
如果返回的字段是复杂对象(比如TestRail用例可能包含多个属性),可以打印issue.raw['fields'][testrail_field_key]查看具体结构,再提取需要的内容。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

