예제 #1
0
jira = JIRA(jira_url, basic_auth=(username, password))

query = 'project = CL AND status != Done and status != Rejected'

num = 0
while True:
  query_result = jira.search_issues(query,maxResults=500,startAt=num)
  num += 500

  if num > query_result.total:
    break

  for issue in query_result:
      issue_timespent = 0
      issue_count = 0

      for link_id in issue.fields.issuelinks:
          inwardIssue = jira.issue_link(link_id).inwardIssue
          if inwardIssue.key.startswith('OP-'):
              issue_count += 1
              time = jira.issue(inwardIssue.key).fields.timespent
              if time is not None:
                  issue_timespent += time

      total_time = issue_timespent / 60
      # $65 per hour for Ops
      total_money = round(total_time / 60 * 65, 2)
      if issue_timespent != 0:
          print("%s: %s minutes, %s linked tickets, %s dollars, %s" % (
              issue.key, total_time, issue_count, total_money, issue.fields.summary))
예제 #2
0
query = 'project = Ops and createdDate >=-30d ORDER BY created DESC'

start_date = date.today() - timedelta(days=30)
print("Report for %s to %s" % (start_date, date.today()))
print("Query is", query)

issues = {}
num = 0
while True:
  query_result = jira.search_issues(query,maxResults=500,startAt=num)
  num += 500

  for issue in query_result:

      for link_id in issue.fields.issuelinks:
          outwardIssue = jira.issue_link(link_id).outwardIssue
          if outwardIssue.key.startswith('CL-'):
              time = jira.issue(issue.key).fields.timespent

              if outwardIssue.key not in issues:
                  issue2 = jira.issue(outwardIssue)
                  summary = issue2.fields.summary
                  priority = issue2.fields.priority
                  issuetype = issue2.fields.issuetype
                  status = issue2.fields.status
                  issues[outwardIssue.key] = {
                      'issuecount': 0,
                      'timespent': 0,
                      'summary': str(summary),
                      'issuetype': str(issuetype),
                      'priority': str(priority),