有没有一种方法可以让我找到一个问题的史诗?
api会返回很多有关问题的信息,但不包括史诗。
我正在使用JIRA REST API(https://developer.atlassian.com/display/JIRADEV/JIRA+REST+APIs)。
答案 0 :(得分:9)
我想提取一个issue
的史诗名称,这让我难倒了好几天。
关键是要意识到epic
只是一个父问题,而史诗名称是父summary
的{{1}}字段}}
所以:
第1步
使用issue
查询找到存储史诗的自定义字段:
https://[your-jira-hostname]/jira/rest/api/2/issue/[issue-number]/editmeta
这将产生如下所示的内容,其中显示了我们需要的自定义字段ID
editmeta
第2步
查询您的问题,提取自定义字段值
https://[your-jira-hostname]/jira/rest/api/2/issue/[issue-number]?fields=customfield_12360,summary
如果我们的问题是{
"fields": {
<SNIP>
"customfield_12360": {
"required": false,
"schema": {
"type": "any",
"custom": "com.pyxis.greenhopper.jira:gh-epic-link",
"customId": 12360
},
"name": "Epic Link",
"operations": [
"set"
]
}
<SNIP>
}
}
,那么这将产生类似
JIRA-34
第3步
现在我们知道史诗的问题编号为{
"expand": "renderedFields,names,schema,operations,editmeta,changelog,versionedRepresentations",
"id": "39080",
"key": "JIRA-34",
"fields": {
"summary": "Write heavily upvoted answers for stack overflow",
"customfield_12360": "JIRA-33"
}
}
,所以现在查询史诗......
https://[your-jira-hostname]/jira/rest/api/2/issue/JIRA-33?fields=summary
JIRA-33
{
"expand": "renderedFields,names,schema,operations,editmeta,changelog,versionedRepresentations",
"id": "39080",
"key": "JIRA-33",
"fields": {
"summary": "Improve StackOverflow reptuation"
}
}
的史诗名称是“改善StackOverflow的重新生成”
完成。
答案 1 :(得分:3)
获取问题的史诗密钥:
发送请求至:/ issue / ISSUE-NUMBER
看看响应机构:
{
...,
fields: {
...,
customfield_11300: ... <- here, the epic should be listed. The number can be different
}
}
答案 2 :(得分:0)
@fiat有非常明确的步骤来查找自定义字段和史诗映射。在我的场景中,整个jira实例使用与epic相同的自定义字段。因此,我不需要重复这些步骤来映射每个项目。 希望这可以提供帮助。
答案 3 :(得分:0)
根据https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-fields/,你可以对/rest/api/3/field
进行API调用,然后你可以得到这样的数据:
[
{
"id": "customfield_10014",
"key": "customfield_10014",
"name": "Epic Link",
"untranslatedName": "Epic Link",
"custom": true,
"orderable": true,
"navigable": true,
"searchable": true,
"clauseNames": [
"cf[10014]",
"Epic Link"
],
"schema": {
"type": "any",
"custom": "com.pyxis.greenhopper.jira:gh-epic-link",
"customId": 10014
}
},
]
再回头看看你的问题json数据:
issue:
fields:
....
customfield_10014: OT-5
....
OT-5
是 Epic 的关键。