使用 jira-python 获取 JIRA 中问题的完整变更日志

问题描述 投票:0回答:2

使用 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 调用?

python jira python-jira
2个回答
2
投票

如果存在超过 100 个结果,您需要在搜索问题时编辑“startAt”参数:

issues_returned = jira.search_issues(args.jql, expand='changelog', startAt=100)

您需要设置一个语句来比较“total”和“maxResults”数据点,然后如果总数较高,则使用不同的“startAt”参数运行另一个查询,并将两者附加在一起。


0
投票

我不确定自接受答案以来包/API 是否已更改,但它不再是真的。我今天测试了一下:

startAt
参数仅与问题数量的偏移有关,与变更日志无关。

积极的一面是,启用

expand=["changelog"]
后,请求似乎会立即返回问题的所有更改。我能够使用包含 224 个更改的更改日志来测试这一点(也许它会在 1000 个更改时逐渐消失?我无法测试它,因为我在 Jira 上没有这么高的历史记录)。参数
startAt
对变更日志中的项目数量没有影响。

© www.soinside.com 2019 - 2024. All rights reserved.