使用 jira-python,我想检索 JIRA 问题的整个变更日志:
issues_returned = jira.search_issues(args.jql, expand='changelog')
我发现对于变更日志中超过 100 条条目的问题,我只收到前 100 条:
我的问题是如何指定 startAt 并再次调用以获取变更日志的后续页面(使用 python-jira)?
从 Atlassian 的这个线程我看到 API v3 提供了一个端点来直接获取更改日志:
/rest/api/3/issue/{issueIdOrKey}/changelog
但这似乎无法通过 jira-python 访问。我想避免直接进行 REST 调用并单独进行身份验证。除了直接通过 jira-python 执行此操作的方法之外,有没有办法从 jira-python 进行“原始”REST API 调用?
如果存在超过 100 个结果,您需要在搜索问题时编辑“startAt”参数:
issues_returned = jira.search_issues(args.jql, expand='changelog', startAt=100)
您需要设置一个语句来比较“total”和“maxResults”数据点,然后如果总数较高,则使用不同的“startAt”参数运行另一个查询,并将两者附加在一起。
我不确定自接受答案以来包/API 是否已更改,但它不再是真的。我今天测试了一下:
startAt
参数仅与问题数量的偏移有关,与变更日志无关。
积极的一面是,启用
expand=["changelog"]
后,请求似乎会立即返回问题的所有更改。我能够使用包含 224 个更改的更改日志来测试这一点(也许它会在 1000 个更改时逐渐消失?我无法测试它,因为我在 Jira 上没有这么高的历史记录)。参数 startAt
对变更日志中的项目数量没有影响。