我使用过几次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个结果。
谢啦
您需要发出多个REST请求,一次一个“页面”遍历所有结果:
max结果
和start At
的值。max结果
的值添加到startAt
中,更新RESTAPI调用startAt
参数,并再次调用相同的APIendpoint。startAt
大于或等于总计
,或者直到isLast
为真。而
循环非常适合这样的操作。为了最小化API调用,您应该为max结果
使用更大的值,以便在每个循环中接收更多的数据。