Open Alec-Mills opened 4 days ago
Please use a verbatim python block for your code.
@Spacetown
from atlassian import Jira
from collections import defaultdict
def get_key_name(row):
return row['fields']['summary']
def issue_type(row):
return i['fields']['issuetype']['name']
jira = Jira(
url="https://zeroeyes.atlassian.net/",
username= uid,
password=jira_api_key,
cloud=True
)
jql = 'project=RDEV AND (sprint in openSprints())'
jira_board = jira.get_agile_board(28)
start = 0
offset = 50
final_issues = set()
task_types = defaultdict(int)
while True:
issues = jira.get_issues_for_board(28, jql = jql, start = start, limit = offset, expand=None, fields = None)
if len(issues["issues"]) == 0:
break
print(f'Received {len(issues["issues"])} issues')
for i in issues['issues']:
if 'parent' in i['fields']:
parent_summary = i['fields']['parent']['key']
# parent_summary = get_key_name(i['fields']['parent'])
if parent_summary not in final_issues:
task_types[issue_type(i['fields']['parent'])] += 1
final_issues.add(parent_summary)
# task_summary = get_key_name(i)
task_summary = i['key']
if task_summary not in final_issues:
task_types[issue_type(i)] += 1
final_issues.add(task_summary)
# # i['fields'] = {k: v for k,v in i['fields'].items() if 'customfield' not in k}
# else:
# final_issues.add(i['fields']['summary'])
if 'subtasks' in i['fields'] and len(i['fields']['subtasks']) > 0:
for subtask in i['fields']['subtasks']:
# summary = get_key_name(subtask)
summary = subtask['key']
if summary not in final_issues:
final_issues.add(summary)
task_types[issue_type(subtask)] += 1
# summaries = [get_key_name(i) for i in i['fields']['subtasks']]
# [final_issues.add(i) for i in summaries]
if 'epic' in i['fields'] and i['fields']['epic'] is not None and len(i['fields']['epic']) > 0:
epic = i['fields']['epic']
summary = epic['key']
if summary not in final_issues:
final_issues.add(summary)
task_types['Epic'] += 1
start += offset
print(len(final_issues))
print(json.dumps(task_types, indent = 4))
The complete indention is missing. Impossible to give help here.
jira = Jira(
url="https://zeroeyes.atlassian.net",
username= uid,
password=jira_api_key,
cloud=True
)
jql = 'project=RDEV AND (sprint in openSprints())'
jira_board = jira.get_agile_board(28)
start = 0
offset = 50
final_issues = set()
task_types = defaultdict(int)
while True:
issues = jira.get_issues_for_board(28, jql = jql, start = start, limit = offset, expand=None, fields = None)
if len(issues["issues"]) == 0:
break
print(f'Received {len(issues["issues"])} issues')
for i in issues['issues']:
if 'parent' in i['fields']:
parent_summary = i['fields']['parent']['key']
# parent_summary = get_key_name(i['fields']['parent'])
if parent_summary not in final_issues:
task_types[issue_type(i['fields']['parent'])] += 1
final_issues.add(parent_summary)
# task_summary = get_key_name(i)
task_summary = i['key']
if task_summary not in final_issues:
task_types[issue_type(i)] += 1
final_issues.add(task_summary)
# # i['fields'] = {k: v for k,v in i['fields'].items() if 'customfield' not in k}
# else:
# final_issues.add(i['fields']['summary'])
if 'subtasks' in i['fields'] and len(i['fields']['subtasks']) > 0:
for subtask in i['fields']['subtasks']:
# summary = get_key_name(subtask)
summary = subtask['key']
if summary not in final_issues:
final_issues.add(summary)
task_types[issue_type(subtask)] += 1
# summaries = [get_key_name(i) for i in i['fields']['subtasks']]
# [final_issues.add(i) for i in summaries]
if 'epic' in i['fields'] and i['fields']['epic'] is not None and len(i['fields']['epic']) > 0:
epic = i['fields']['epic']
summary = epic['key']
if summary not in final_issues:
final_issues.add(summary)
task_types['Epic'] += 1
start += offset
print(len(final_issues))
print(json.dumps(task_types, indent = 4))
Here is the code that we have tried to and we are getting close. Without the api key and user id it won't be exact numbers but if someone could look and see if they find any issues in our code. `from atlassian import Jira from collections import defaultdict
def get_key_name(row): return row['fields']['summary'] def issue_type(row): return i['fields']['issuetype']['name']
jira = Jira( url="https://zeroeyes.atlassian.net", username= uid, password=jira_api_key, cloud=True ) jql = 'project=RDEV AND (sprint in openSprints())' jira_board = jira.get_agile_board(28) start = 0 offset = 50 final_issues = set() task_types = defaultdict(int) while True: issues = jira.get_issues_for_board(28, jql = jql, start = start, limit = offset, expand=None, fields = None) if len(issues["issues"]) == 0: break print(f'Received {len(issues["issues"])} issues') for i in issues['issues']: if 'parent' in i['fields']: parent_summary = i['fields']['parent']['key']
parent_summary = get_key_name(i['fields']['parent'])
print(len(final_issues)) print(json.dumps(task_types, indent = 4))`