5

我正在尝试以 status 列出项目中的所有问题Done or Closed。当我使用高级搜索运行 JQL 查询时,我得到:项目中有 3096 个问题。然而,当我用 python 运行它时,我遇到了大约 50 个问题。

#/usr/bin/python
import jira.client
from jira.client import JIRA

options = {'server': 'http://jira.confluence.no' }
jira = JIRA(options, batch_auth=('admin', 'admin'))
project = jira.projects()

for project in projects:
   issues = jira.search_issues('project=JA')

for issue in issues:
    if str(issue.fields.status) == 'Done' or str(issue.fields.status) == 'Closed':
        print issue 

即使状态DoneClosedJQL 查询存在 3000 多个问题,我也只会遇到 50 个左右的问题。

可能有限制吗?

4

4 回答 4

8

来自https://pythonhosted.org/jira/的文档:

search_issues(jql_str, startAt=0, maxResults=50, validate_query=True,
              fields=None, expand=None, json_result=None)

注意maxResults论点。我认为您需要指定maxResults=False. 或者,在循环中执行此操作,例如:

    got = 50
    total = 0
    while got==50:
        issues = jira.search_issues('project=JA', startAt = total)
        ....
        got = len(issues)
        total += got
于 2016-06-12T09:42:15.513 回答
4

Martin Bonner 的答案还可以,但我只是发布一个答案以添加更多说明。

search_issues方法使用JIRA REST API 来运行 JQL 查询,因此您还可以查看JIRA REST API 文档以了解 startAt 和 maxResults 参数:

在此处输入图像描述

从这个文档中,我假设maxResults只接受一个int作为值。

于 2016-06-12T12:02:33.150 回答
0

尝试这个:

projects = jira.projects()
for project in projects:
    issues = jira.search_issues('project=XXXX', maxResults=None)
于 2018-07-27T14:26:10.700 回答
-2

使用maxResults参数,在你的情况下 maxResults=3000 应该工作

于 2017-04-13T02:50:10.130 回答