【问题标题】:GET all issues from JIRA Project using JIRA REST API with python使用带有 python 的 JIRA REST API 从 JIRA 项目获取所有问题
【发布时间】:2023-02-10 23:16:33
【问题描述】:

我正在使用 JIRA REST API 提取一个特定项目中的所有问题,但在获取超过 100 个问题时遇到了问题。我总共想要 450 期。我对 python 还是很陌生,不太了解分页,也看过类似的帖子,但没有找到解决方案。我正在使用 JQL(GET) 搜索问题。这是我当前的代码,它给了我 100 个问题(ORDER BY key 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))

【问题讨论】:

标签: python-3.x jira-rest-api


【解决方案1】:

您可以简单地将 startAt 值作为参数。进行递归调用,直到响应中没有任何内容,即。一个空数组。
所以电话将是main_request(baseurl, endpoint, startAt)

在循环中,startAt = startAt + maxResults 然后data.append(main_request(baseurl, endpoint, startAt)

【讨论】:

  • 完美谢谢!效果很好,我现在可以解决所有问题
【解决方案2】:

请问您对解决方案有最终疑问吗?

【讨论】:

猜你喜欢
  • 2016-10-15
  • 1970-01-01
  • 2020-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 2017-01-23
相关资源
最近更新 更多