提问者:小点点

Jira艾特莱森API分页


我使用过几次JIRAAPI,但只适用于小的提取,所以我从来没有使用分页来返回比最大结果更多的结果。

这是API的留档:https://developer.atlassian.com/cloud/jira/platform/rest/v3/#expansion

我对API有一个查询:

let


Source = Json.Document(Web.Contents("*connection URL*,
[Headers=[Accept="application/json"]])),


#"Converted to Table" = Table.FromRecords({Source}),


>Expand the scheme, and define the field data types etc


in

 
#"Changed Type"

我可以看到形式的留档我需要使用这样的东西:

{

    "startAt" : 0,

    "maxResults" : 10,

    "total": 200,

    "isLast": false,

    "values": [

        { /* result 0 */ },

        { /* result 1 */ },

        { /* result 2 */ }

    ]

}

我不确定分页在哪里适合这个?有人能帮我吗?我需要返回1500个结果。

谢啦


共1个答案

匿名用户

您需要发出多个REST请求,一次一个“页面”遍历所有结果:

  1. 从JIRA读取API响应,并在响应中捕获max结果start At的值。
  2. max结果的值添加到startAt中,更新RESTAPI调用startAt参数,并再次调用相同的APIendpoint。
  3. 重复直到startAt大于或等于总计,或者直到isLast为真。

循环非常适合这样的操作。为了最小化API调用,您应该为max结果使用更大的值,以便在每个循环中接收更多的数据。