使用JIRA REST API和python获取JIRA项目的所有问题

yhxst69z  于 2023-02-14  发布在  Python
关注(0)|答案(1)|浏览(332)

我正在使用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))
3pvhb19x

3pvhb19x1#

你可以简单地将startAt值作为一个参数。进行递归调用直到响应中没有任何内容,即一个空数组。
因此调用将是main_request(baseurl, endpoint, startAt)
在循环中,startAt = startAt + maxResultsdata.append(main_request(baseurl, endpoint, startAt)

相关问题