python统计jira缺陷数据

系统 1833 0

环境:python2.7 

1、安装jira库

            
              pip install jira
            
          

2、python连接jira服务器

            
              #coding: UTF-8
from jira import JIRA

username = raw_input('请输入用户名: ')
password = raw_input('输入密码: ')

options = {
        'verify': False,
        'server': 'https://jira.XXXXXXX.com'}

jira = JIRA(options, basic_auth=(username, password))


            
          

3、查询issue

Jira 通过 JQL(JIRA Query Language,Jira 查询语言)进行搜索,语法类似于 SQL。可以通过 JQL 搜索符合条件的 issues,如通过  assignee = currentUser()  查找经办人为当前用户的 issues。

python统计jira缺陷数据_第1张图片

            
              def searchIssues(jql, max_results=100):
    ''' Search issues
    @param jql: JQL, str
    @param max_results: max results, int, default 100
    @return issues: result, list
    '''
    try:
        issues = jira.search_issues(jql, maxResults=max_results)
        return issues
    except Exception as e:
        print(e)

jql = '''
    assignee = currentUser()
'''
issues = searchIssues(jql)

for issue in issues:
    print('{0}: {1}'.format(issue.key, issue.fields.summary))
            
          

4、获取jira待修复缺陷数据

            
              issues = jira.search_issues('project = XXX AND status = 待修复', maxResults=1000,
                                fields='assignee,summary,customfield_10121')

# 获取缺陷信息
for u in issues:
     # print u #打印缺陷的key值
     issue = jira.issue(u)  # 根据key获取缺陷
     ass = issue.fields.assignee  # 获取缺陷经办人
     print ass
     sec = issue.fields.customfield_10121  # 获取缺陷严重性
     print sec
     sum = issue.fields.summary  # 获取缺陷摘要
     print sum
            
          

获取的待修复缺陷数据可以保存到excel文件中

            
              #coding: UTF-8
from jira import JIRA
import xlwt
import os
path=os.getcwd()

#输入jira账号和密码
def input_user():
    # 主流程开始
    username = raw_input('请输入用户名: ')
    password = raw_input('输入密码: ')

    if (username == '' or password == ''):
        print('用户名和密码不能为空')
        exit

    return username,password

#########################获取jira待修复缺陷数据
def  jira_data_repair():
    options = {
        'verify': False,
        'server': 'https://jira.XXXXX.com'}
    jira = JIRA(options, basic_auth=(username, password))

    issues = jira.search_issues('project = XXXXX AND status = 待修复', maxResults=1000,
                                fields='assignee,summary,customfield_10121')

    # 写excel
    workbook = xlwt.Workbook(encoding='utf-8')
    worksheet = workbook.add_sheet('test')
    total = 0

    # 获取缺陷信息
    for u in issues:
        # print u #打印缺陷的key值
        issue = jira.issue(u)  # 根据key获取缺陷
        ass = issue.fields.assignee  # 获取缺陷经办人
        sec = issue.fields.customfield_10121  # 获取缺陷严重性
        sum = issue.fields.summary  # 获取缺陷摘要
        # 写入内容
        worksheet.write(total, 0, str(u))
        worksheet.write(total, 1, str(ass))
        worksheet.write(total, 2, str(sec))
        total = total + 1

    # 保存excel
    workbook.save(path+'/output_data\\repair.xls')

if __name__ == '__main__':
    username,password=input_user()
    jira_data_repair()
            
          

 


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论