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
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
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])