from jira import JIRA import arrow from datetime import timedelta DONE_ISSUES_QUERY = 'statusCategory = done' SAMPLES=24 jira = JIRA() dates = [] max_results = 50 start_at = 0 while True: issues = jira.search_issues(DONE_ISSUES_QUERY, maxResults=max_results, startAt=start_at) num_issues = len(issues) for issue in issues: dates.append(arrow.get(issue.fields.resolutiondate)) if num_issues < max_results: break else: start_at += max_results end = arrow.get() end = end.replace(hour=0, minute=0, second=0, microsecond=0) end = end - timedelta(days=end.weekday()) curr = end - timedelta(weeks=SAMPLES) while (curr < end): range_min = curr range_max = range_min + timedelta(days=7) count = 0 for date in dates: if date > range_min and date < range_max: count += 1 print(count) curr = range_max