1

由于 JIRA API 只允许发出最大结果为 1000 个问题的搜索请求,我需要知道是否有办法获取项目的问题总数,以便我可以遍历所有数千个问题。

IRestResponse responseIssues = client.Execute(new RestRequest("search?jql=project=" + "\"DATPROJECT\"" + "&maxResults=5000&fields=assignee,summary,timetracking,resolutiondate,resolution,worklog", Method.GET));

我目前正在像上面的代码一样做,但我只得到 1000 个结果,而不是我需要的 5000 个。我知道我可以使用过滤器“startAt”来遍历所有结果,但我不知道存在多少问题。

有任何想法吗?

4

3 回答 3

3

搜索休息点返回给定 JQL 搜索的问题总数。文档中的示例结果

{
"expand": "names,schema",
"startAt": 0,
"maxResults": 50,
"total": 1,
"issues": [
    {
        "expand": "",
        "id": "10001",
        "self": "http://www.example.com/jira/rest/api/2/issue/10001",
        "key": "HSP-1"
    }
]

}

"total":1值就是您要查找的值。

于 2014-04-06T02:01:56.090 回答
1

嘿,从休息 Api 我找不到任何休息的地方,你可以得到所有问题。但如果你想要所有问题,你可以从 java 端得到它。如果您需要问题总数,请使用

long getIssueCountForProject (Long projectId)

如果您想要所有问题并想要迭代它,请使用

Collection<Long> getIssueIdsForProject (Long projectId)

请参阅 atlassian文档了解所有这些方法。

谢谢你。

于 2015-11-20T12:41:05.560 回答
0

您可以使用 maxResults=0 仅获取省略实际结果的描述性数据。

例如,如果我们想知道当前登录用户的未解决问题数量:

rest/api/2/search?jql=project=SP+AND+statusCategory!=3+AND+assignee+in+(currentUser())&maxResults=0

结果:

{
  "startAt": "0",
  "maxResults": "0",
  "total": "68",
  "issues": [
  ]
}

这里的“总”字段正是我们所需要的。

于 2016-10-10T14:11:17.527 回答