【问题标题】:How can I fetch (via GET) all JIRA issues? Do I go to the Search node?如何获取(通过 GET)所有 JIRA 问题?我去搜索节点吗?
【发布时间】:2017-06-23 19:11:27
【问题描述】:

看起来 /api/2/project 很容易以 JSON 格式返回 JIRA 实例中的所有项目。

我想对问题做同样的事情,但这似乎不存在。

/api/2/search 是进行这种大规模转储的标准方法吗?定期将其更新到数据库的最佳方法是什么?我会做类似搜索(更新日期> [数据库中的最后一个条目])然后通过分页吗?当然我不能成为第一个尝试这个的人,尽管我在网上没有看到任何类似的指南(我查看了 Jira 自己的文档,真的没有大量问题导出指南)。

编辑:好吧,看起来搜索确实是“问题转储”而不是问题节点,与他们的文档相反,问题节点不默认为集合,而是真正用于创建问题或一次列出一个问题。我可能会走更新的路线> [无论数据库中的最后日期是什么]

【问题讨论】:

    标签: api jira etl data-warehouse


    【解决方案1】:

    除非您遇到的问题很少,否则您无法一次获取所有问题。 你可以做的是逐步执行搜索。

    例如,假设您有 1324 个 JIRA 问题。为了检索所有这些,您必须多次执行类似的搜索:

    /rest/api/2/search?&maxResults=100&startAt=0
    

    这将从 0 开始检索前 100 个 JIRA 问题。 别人怎么弄?

    执行搜索时,会返回一个名为 total 的字段。该字段是您系统中的 JIRA 问题总数(1324 个问题)。

    下一个查询将是:

    /rest/api/2/search?&maxResults=100&startAt=100
    

    重复此操作,每次将startAt 的值增加100,直到返回所有问题。

    【讨论】:

    • Gotcha --- 是的,我认为它会是这样的。我认为 startAt=0 对于在上次更新时间之前增量加载所有 Jira 票证不是很有用。好吧,也许它会——我想你可以按 update_time asc 订购……但是如果第 2 页上的票被更新了,现在在第 1000 页上会发生什么? “页面逻辑”会以某种方式动态更新吗?可能最好避免,只获取“获取最后更新时间,使其成为查询中的第一个更新时间”
    猜你喜欢
    • 2023-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-24
    • 2019-02-11
    相关资源
    最近更新 更多