python 月报_python实践--月报分析之获取jira缺陷数据

原标题:python实践--月报分析之获取jira缺陷数据

关于JIRA:

Jira是一款可进行缺陷管理、任务管理、需求管理、流程管理、项目管理、敏捷管理的工具。针对缺陷管理功能,jira最大特点是可以自定义问题类型,适应组织管理的需要;自定义字段,可选择字段类型超过20种,不仅如此还支持插件进一步扩展;自定义问题安全级别,可以限制指定用户访问指定的问题等。

关于背景:

需求:团队每个月测试月报总结中需要从Jira平台中统计各个项目的新增、关闭、打回以及遗留bug等数据。

痛点:人工去对各个项目进行条件筛选统计,耗时较长且容易出错。

方案:故做一个自动去筛选获取Jira平台各个项目每个月的数据,不仅可以提高统计数据的准确性,还可以从不同维度去分析项目的情况。

Python的第三方库提供了操作jira的API,可以直接调用API中的方法直接获取缺陷数据,避免了通过爬取方式获取数据的不稳定性。下面详细介绍一下如何用python获取jira缺陷数据。

1.jiraAPI的基本操作介绍

首先安装jira,同其他第三方库,直接可以 easy_install jira。

判断jira是否按转成功输入:from jira import JIRA,如果没有报错则说明安装成功;

#连接jira

jira = JIRA(“http://jira地址”,basic_auth = (“用户名”,”密码”))

#获取当前用户

print u'当前登录用户:'+jira.user(jira.current_user())

#获取当前用户所有项目,返回项目字典

for j in jira.projects():

print j, j.name #打印项目名称;

2. 批量获取项目缺陷数据

通过jira.projects()获取项目名称后,接下来就可以获取各个项目的具体缺陷信息了,批量获取缺陷的具体方法是jira.search_issues(sql,maxResults),具体用法如下;

issues =jira.search_issues(sql, maxResults=maxnumber)

for u in issues:

print u #打印缺陷的key值

其中sql是指统计缺陷数的查询语句,比如统计2018年1月份创建缺陷数的语句为:project= 项目键值 AND issuetype =缺陷 AND created >= 2018-01-01 AND created <=2018-02-01;

maxResults参数是设置返回数据的最大值,默认是50。issues返回的是项目的缺陷list,包含了缺陷的key,id值,通过计算issues的个数就可以统计目前项目缺陷总数。一下是不同维度统计缺陷的sql。

#验证缺陷

project =项目键值AND issuetype = 缺陷 AND ( status changed FROM 待验证TO 关闭OR status changed FROM 待验证TO 待修复 OR status changed FROM 待验证TO 待讨论) AND 验证时间>=2018-01-01 AND 验证时间<=2018-02-01;

#打回缺陷

project =项目键值issuetype = 缺陷 AND ( status changed FROM 待验证TO 待修复 OR (status changed FROM 待验证TO 待讨论AND status changed FROM 待讨论TO 待修复)) AND 验证时间>=2018-01-01 AND 验证时间<=2018-02-01;

#未修复缺陷

project = AND issuetype =缺陷 AND status in (待修复, 待讨论) AND created <= 2018-01-01 AND created <= 2018-02-01;

3.获取缺陷详细信息

获取jiar统计信息后,下一步就是得到每个缺陷的具体信息,比如摘要、重现步骤、解决方法、修复细节,提出人员,提出版本等详细信息。部分常用方法如下,更多方法可参看API说明文档http://jira.readthedocs.io/en/master/api.html。

#传入具体的缺陷key值;

isss=jira.issue('APPBUG-486')

#获取缺陷类型,如缺陷,线上问题、改进等

print isss.fields.issuetype

#获取缺陷的主题描述

print isss.fields.summary

#获取缺陷的具体描述内容

print isss.fields.deion

#获取缺陷的状态

print isss.fields. status

#获取缺陷的解决结果

print isss.fields. resolution

#获取缺陷的优先级

print isss.fields. priority

由于jira具有可扩展性,自定义字段。不同的项目组会根据需求去添加字段,那么如何去获取自定义字段的内容,具体方法如下;

首先,要获取自定义字段的id号。

field= jira.fields()

foritem infield:

printjson.dumps(item,ensure_ascii=False)#批量打印字典内容

然后,通过字段id号去获取内容;

isss=jira.issue('APPBUG-486',fields='summary,deio,customfield_10216,customfield_10309,customfield_10428')

print isss.fields.customfield_10216#获取自定义字段的内容

通过对项目缺陷统计,可以统计开发人员的人均缺陷数,容易发现缺陷率、严重缺陷率、缺陷打回率、缺陷验证率、不规范缺陷数等等。通过这些数据可以量化的去评估开发和测试的工作量,同时可以间接的反应项目的质量情况。

以上就是用python获取jira信息的所有内容,如果你的团队也在用jira,快用python自己写个统计脚本,看看你的项目数据吧,最后欢迎大家在飞测这个平台来交流学习 ,进步!返回搜狐,查看更多

责任编辑:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值