如何使用 JIRA -REST-API for python 访问下一页
Posted
技术标签:
【中文标题】如何使用 JIRA -REST-API for python 访问下一页【英文标题】:How to access the next page using JIRA -REST-API for python 【发布时间】:2016-02-22 06:33:56 【问题描述】:我正在尝试获取与项目相关的所有问题。当我执行下面的代码时,我只得到 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。我需要获取所有问题。
【问题讨论】:
【参考方案1】:-- 2021 年 10 月 18 日更新
正如在answer below 中发现的那样,将 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
。
【讨论】:
非常感谢!它工作得很棒。正如您所说,它将值限制为 1000。我尝试将值设置为“jira.search.views.default.max”。但我得到一个错误'AttributeError:'JIRA'对象没有属性'search''。我想获取大约 10000 个问题。有办法吗? 你在哪里设置 jira.search.views.default.max?这是一个JIRA全局配置,JIRA安装需要在jira-config.properties中设置。 @rakesh:有什么方法可以轻松地对其进行分页吗?我可以预测总共可以退回多少件商品吗? @Lormitto 我猜返回的项目数取决于您为maxResults
设置的值。
这个答案是不正确的,因为当你改变 startAt 时你总是会做一个新的请求。如果你例如以一种不会出现在搜索中的方式处理问题,您将跳过一些问题【参考方案2】:
根据源码: 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
我现在对它进行了短暂的测试,它在这里工作。
【讨论】:
以上是关于如何使用 JIRA -REST-API for python 访问下一页的主要内容,如果未能解决你的问题,请参考以下文章
Windows 下JIRA for MySQL 默认排序报警处理。
在Groovy for Jira中解析日期字符串而不丢失时区
Confluence 6 用户目录图例 - 连接 Jira 和 Jira 连接 LDAP