Ejemplo n.º 1
0
def fires(jira, args):
    m = re.match(r'(\w+)?', args)

    if not m:
        return utils.not_valid_args(args)

    project_key = m.group(1) or config.get('jira_default_project')

    if not project_key:
        return utils.error('Project name is required')

    if not utils.check_project(jira, project_key):
        return utils.error('Project {} does not exist'.format(project_key))

    try:
        query = 'project={0} and labels in (fire)'.format(project_key)
        issues = jira.search_issues(query)

        if not issues:
            return 'No issues found'

        return '\n'.join([utils.issue_info(issue) for issue in issues])
    except JIRAError as e:
        response = utils.error('{} {}'.format(str(e.status_code), str(e.text)))
        return response
Ejemplo n.º 2
0
def users(jira, args):
    m = re.match(r'(\w+)?', args)

    if not m:
        return utils.not_valid_args(args)

    project_key = m.group(1) or config.get('jira_default_project')

    if not project_key:
        return utils.error('Project name is required')

    if not utils.check_project(jira, project_key):
        return utils.error('Project {} does not exist'.format(project_key))

    try:
        users = jira.search_assignable_users_for_projects('', project_key)
        return '\n'.join([utils.user_info(user) for user in users])
    except JIRAError as e:
        response = utils.error('{} {}'.format(str(e.status_code), str(e.text)))
        return response
Ejemplo n.º 3
0
def done_issues(jira, args):  # todo
    m = re.match(r'(\w+)?', args)

    if not m:
        return utils.not_valid_args(args)

    project_key = m.group(1) or config.get('jira_default_project')

    if not project_key:
        return utils.error('Project name is required')

    if not utils.check_project(jira, project_key):
        return utils.error('Project {} does not exist'.format(project_key))

    query = 'project={} and status in (\'Done\', \'Closed\', \'Resolved\')'.format(project_key)
    issues = jira.search_issues(query)

    if not issues:
        return 'No issues found'

    return '\n\n'.join([utils.issue_info(issue) for issue in issues])