我正在使用JIRA REST API来提取一个特定项目中的所有问题,但是在获取超过100个问题时遇到了麻烦。我想要获取的问题总数大约为450个。我对python还是一个新手,不太理解分页,并且看过类似的帖子,但是没有看到解决方案。我正在使用JQL搜索问题(获取)。这是我目前的代码,给我100个问题(按键DESC排序),但我仍然需要得到未来300+问题以及。提前非常感谢。
baseurl = 'www.baseurl.com'
endpoint = 'endpoint'
def main_request(baseurl, endpoint):
auth = HTTPBasicAuth(email, token)
headers = {
'Accept': 'application/json'
}
query = {
'jql': 'project=projectKey',
'startAt': 0,
'maxResults': 100
}
r = requests.get(
baseurl + endpoint,
headers=headers,
params=query,
auth=auth
)
return r.json()
def parse_json(response):
issuelist = []
for item in response['issues']:
issue = {
'Key': item['key'],
'Summary': item['fields]['summary']
}
issuelist.append(issue)
return issuelist
data = main_request(baseurl, endpoint)
print(parse_json(data))
1条答案
按热度按时间3pvhb19x1#
你可以简单地将startAt值作为一个参数。进行递归调用直到响应中没有任何内容,即一个空数组。
因此调用将是
main_request(baseurl, endpoint, startAt)
在循环中,
startAt = startAt + maxResults
和data.append(main_request(baseurl, endpoint, startAt)