3

我正在尝试获取与项目相关的所有问题。当我执行下面的代码时,我只得到 50 个结果。我需要浏览所有页面并获取所有错误。请帮助

all_issues = jira.search_issues('project=ProjectName')
    each_issue = sorted([issue.key for issue in all_issues])
    for item in each_issue:
        print item

这给了我 50 个问题,因为该页面的默认值为 50。我需要获取所有问题。

4

2 回答 2

5

-- 2021 年 10 月 18 日更新

正如在下面的答案中发现的那样,将 maxResults 设置为 False 似乎可以消除对结果集的限制。

all_issues = jira.search_issues('project=ProjectName', maxResults=False)

-- 原帖

尝试;

all_issues = jira.search_issues('project=ProjectName', maxResults=50, startAt=50)

来自 REST API 的结果是分页的,默认结果数为 50。您可以提供该startAt值以从结果集中的某个点开始结果。默认情况下,此值为 0。

因此,您的原始查询将获得结果 0-49,上面的查询将获得结果 50-99,更改startAt为 100 将获得 100-149,依此类推。

您还可以增加 的值maxResults以每页返回更多结果。但是,这仅限于在您的 JIRA 实例中配置的最大值jira.search.views.default.max(默认设置为 1000)。

不分页就不可能让 API 返回所有问题。您必须配置jira.search.views.default.max一个非常大的值并将该值提供为maxResults.

于 2015-11-20T17:27:59.493 回答
0

根据源码: https ://github.com/pycontribs/jira/blob/f5d7dd032e719fe35f5fc377f302200f6c69afd4/jira/client.py#L2737

设置maxResults=False应该可以解决问题,因此您的示例如下所示:

all_issues = jira.search_issues('project=ProjectName', maxResults=False)
    each_issue = sorted([issue.key for issue in all_issues])
    for item in each_issue:
        print item

我现在很快对其进行了测试,它在这里工作。

于 2021-10-17T20:44:20.810 回答