Get list of all JIRA issues (python)

Lucif3r picture Lucif3r · Oct 2, 2017 · Viewed 14.5k times · Source

I am trying to get a list of all JIRA issues so that I may iterate through them in the following manner:

from jira import JIRA

jira = JIRA(basic_auth=('username', 'password'), options={'server':'https://MY_JIRA.atlassian.net'})

issue = jira.issue('ISSUE_KEY')
print(issue.fields.project.key) 
print(issue.fields.issuetype.name) 
print(issue.fields.reporter.displayName)
print(issue.fields.summary)
print(issue.fields.comment.comments)

The code above returns the desired fields (but only an issue at a time), however, I need to be able to pass a list of all issue keys into:

issue = jira.issue('ISSUE_KEY')

The idea is to write a for loop that would go through this list and print the indicated fields.

I have not been able to populate this list.

Can someone point me in the right direction please? Thanks.

Answer

Ivan Bryzzhin picture Ivan Bryzzhin · Sep 25, 2019
def get_all_issues(jira_client, project_name, fields):
    issues = []
    i = 0
    chunk_size = 100
    while True:
        chunk = jira_client.search_issues(f'project = {project_name}', startAt=i, maxResults=chunk_size, fields=fields)
        i += chunk_size
        issues += chunk.iterable
        if i >= chunk.total:
            break
    return issues
issues = get_all_issues(jira, 'JIR', ["id", "fixVersion"])