Jira Python自定义字段

14

如何在jira-python中确定自定义字段的名称?

当我检索问题时,我的自定义字段显示为customfield_xxx。

屏幕上显示的名称是“project”、“name”、“due date”等等。 除了在每个字段中放入一个值,然后查看它出现在哪里以外,是否还有其他方法来确定自定义字段的名称呢?

也就是说,我可以在我的某个字段中放入“a”,然后读取该问题,并发现customfield_10801(或其他任何数字)的值为“a”。但是是否有一种通用的方法可以找到例如我自定义字段名字是“due date”,那么它映射到哪个customfield_xxx呢?

或者,在JIRA GUI中,我该如何查找这些自定义字段编号呢?

1个回答

27

从GUI界面中,您可以在HTML代码或URL中看到自定义字段ID:

  • 在所有自定义字段都列出的管理页面上,找到您感兴趣的自定义字段所在的行,在其右侧单击齿轮并点击/悬停在“配置”上。您应该会在URL中看到自定义字段ID。

另一种方法是通过REST API:

  • {jira-base-url}/rest/api/2/field
  • 这是一个GET请求,所以只需将该网址放入您的浏览器中即可。

更新:

根据评论,可以像这样完成:

# Fetch all fields
allfields=jira.fields()
# Make a map from field name -> field id
nameMap = {field['name']:field['id'] for field in allfields}
# Fetch an issue
issue = jira.issue('ABC-1')
# You can now look up custom fields by name using the map
getattr(issue.fields, nameMap[custom_name])

谢谢LukeSolar。那个方法可行。我希望我可以将其编程。我在jira-python中使用REST,似乎从customfield_xxx获取的唯一数据是id、url和value,而不是“name”。 - Paul Nelson
你关于URL的评论让我意识到数据是在服务器级别而不是项目或问题级别。在Python中,这将创建一个名称-->数字字典: - Paul Nelson
2
allfields = jira.fields(); nameMap = {field['name']: field['id'] for field in allfields} - Paul Nelson
嘿,这个命令可以帮助获取所有项目的字段列表, 请帮我找到特定项目的字段。。(我知道项目关键字) - lazy rabbit
@PaulNelson 根据您的评论,我更新了答案。 - Zitrax
这太棒了!不过我有一个问题。如果在两个不同的板块中使用相同的字段名称会怎样? - apinostomberry

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接