def getissueinfo(): projects = jira.projects() issue_dict = {} issuelist = [] for i in range(len(projects)): issues_in_proj = jira.search_issues('project=' + str(projects[i])) for issue in issues_in_proj: issueobj = jira.issue(issue) svn_branch = issueobj.raw['fields']['customfield_10306'] if str(issueobj.fields.status) == "Approved for ITE": ft = issueobj.raw['fields']['customfield_10503'] rt = release_type = issueobj.raw['fields']['customfield_11100'] print issueobj.key if ft is not None and rt is not None and svn_branch is not None and ( issue.key == "LOG-157" or issue.key == "LOG-158"): feature_type = issueobj.raw['fields']['customfield_10503'][ 'value'] release_type = issueobj.raw['fields']['customfield_11100'][ 'value'] if release_type == "Normal ITE": issue_dict[issueobj] = feature_type issuelist.append([issueobj.key, feature_type]) result = { k: [i[0] for i in v] for k, v in groupby(sorted(issuelist, key=lambda x: x[1]), lambda x: x[1]) } print result buildissue(result)
def getTicketByUsername(user_id): jira_options = {'server': 'https://nrc.atlassian.net/'} jira = JIRA(options=jira_options, basic_auth=('*****@*****.**', 'guPJmBOx3nVhEWMFogxRAB84')) issues = jira.search_issues("project='ORDER' and reporter='" + user_id + "'") return issues
def issues(jira, query): # type: (JIRA, str) -> Iterator[jira.Issue] """Issues iterator""" issue_index = 1 while True: issues = jira.search_issues(jql_str=query, startAt=issue_index, maxResults=50) for issue in issues: yield issue issue_index += 51 if len(issues) < 50: raise StopIteration()
yamlfile = yamlforpy(_file) cmd2 = [ "avocado", "variants", "-m", yamlfile, "--summary", "0", "--variants", "1" ] output = subprocess.check_output(cmd2) variants += len(output.splitlines()) print(".") sys.stdout.flush() print("existing avocado tests> {}".format(tests)) print("existing avocado variants> {}".format(variants)) options = {'server': 'https://jira.hpdd.intel.com'} jira = JIRA(options) issues = jira.search_issues('project=DAOS AND component=test AND ' 'assignee=daos-triage') print("test stories in backlog> {}".format(issues.total)) q = """project=DAOS AND component=test AND project=DAOS AND status in ("In Progress","In Review")""" issues = jira.search_issues(q) print("total test stories in progress> {}".format(issues.total)) q = """project=DAOS AND component=test AND project=DAOS AND status in ("Closed","Done","Resolved")""" issues = jira.search_issues(q) print("total test stories completed> {}".format(issues.total))
output = subprocess.check_output(cmd1, shell=True) tests += len(output.splitlines()) yamlfile = yamlforpy(_file) cmd2 = ( "avocado variants -m {} --summary 0 --variants 1".format(yamlfile)) output = subprocess.check_output(cmd2, shell=True) variants += len(output.splitlines()) print(".") sys.stdout.flush() print("existing avocado tests> {}".format(tests)) print("existing avocado variants> {}".format(variants)) options = {'server': 'https://jira.hpdd.intel.com'} jira = JIRA(options) issues = jira.search_issues('project=DAOS AND component=test AND ' 'assignee=daos-triage') print("test stories in backlog> {}".format(issues.total)) q = """project=DAOS AND component=test AND project=DAOS AND status in ("In Progress","In Review")""" issues = jira.search_issues(q) print("total test stories in progress> {}".format(issues.total)) q = """project=DAOS AND component=test AND project=DAOS AND status in ("Closed","Done","Resolved")""" issues = jira.search_issues(q) print("total test stories completed> {}".format(issues.total))
basic_auth=(settings['username'], settings['password'])) # Test for bad credentials. except Exception as e: if 'Unauthorized (401)' in e.text: print('Bad username or password; clearing cache.') settings.clear() setSettings() login() setSettings() login() # Pull issues and look for any new ones / changes issues = jira.search_issues('project=' + settings['project']) issueCount = getConfig('issueCount', '', len(issues)) if issueCount != settings['issueCount']: notifyMsg += str( int(issueCount - int(settings['issueCount']))) + ' new issues.\n' for issue in issues: loopMsg = '' newComments = '' exists = True issueLink = '<' + addTrailingSlash( settings['jiraURL']) + 'browse/' + str(issue) + '|' + str(issue) + '>' issueData = { 'assignee': str(issue.fields.assignee), 'commentcount': len(jira.comments(issue)), 'status': str(issue.fields.status) }