由于JIRA API只允许发出最多1000个问题的搜索请求,因此我需要知道是否有办法让问题的总数达到项目,这样我就可以遍历所有数千个问题。 / p>
IRestResponse responseIssues = client.Execute(new RestRequest("search?jql=project=" + "\"DATPROJECT\"" + "&maxResults=5000&fields=assignee,summary,timetracking,resolutiondate,resolution,worklog", Method.GET));
我目前正在做上面的代码,但我只得到1000个结果,而不是我需要的5000个。我知道我可以使用过滤器" startAt"迭代所有结果,但我不知道存在多少问题。
有什么想法吗?
答案 0 :(得分:3)
搜索休止点返回给定JQL搜索的总问题数。来自documentation
的示例结果{
"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
值是您正在寻找的值。
答案 1 :(得分:1)
嘿,休息Api我找不到任何可以解决所有问题的休息。但如果你想要所有问题,你可以从java方面获得它。如果您需要总问题数
long getIssueCountForProject (Long projectId)
如果您想要所有问题并希望迭代它,请使用
Collection<Long> getIssueIdsForProject (Long projectId)
请参阅atlassian documentation了解所有这些方法。
谢谢。
答案 2 :(得分: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": [
]
}
这里的“总计”字段正是我们所需要的。