JIRA API:获取史诗般的问题

时间:2014-06-24 11:38:11

标签: jira jql

有没有一种方法可以让我找到一个问题的史诗?

api会返回很多有关问题的信息,但不包括史诗。

我正在使用JIRA REST API(https://developer.atlassian.com/display/JIRADEV/JIRA+REST+APIs)。

4 个答案:

答案 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 的关键。