我需要循环我的 API 调用,直到我获取了我需要的所有数据,因为 Jira 一次只返回 50 个。
我想要一个循环,直到“总数”小于“startAt”(我认为)
我正在取回数据,但它似乎没有循环获取所有数据。
import json
import requests
import urllib3
import math
url = 'https://mydomain.atlassian.net/rest/api/2/search'
headers = {
'Content-Type': 'application/json',
'Authorization': 'Basic 012336',
'Postman-Token': "0123456789"
}
parameters = {
'jql': 'project IN (A, B, C, D, E, F, G, H, I, J, K, L, M) AND issueType=incident AND statusCategory!=Done',
'startAt': 0,
'maxResults': 50,
'fields': "key,status,project,priority,issuetype,created,statuscategory"
}
response = requests.request("GET", url, headers=headers, params=parameters)
jira_data = response.json()
jira_pretty = json.dumps(json.loads(response.text), sort_keys=True, indent=4)
int_total = jira_data.get('total')
int_maxResults = jira_data.get('maxResults')
int_startAt = parameters.get('startAt')
number_pages = math.ceil(int(int_total)/int(int_maxResults))
while int_startAt < int_total:
int_startAt += int_maxResults
if int_total <= int_startAt:
break
print(jira_pretty)