Beispiel #1
0
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)
Beispiel #2
0
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
Beispiel #3
0
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()
Beispiel #4
0
        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))
Beispiel #5
0
        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))
Beispiel #6
0
                         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)
    }