利用Python对Jira缺陷进行管理操作


转自:51testing

 1.1、概要

  本文主要内容是教大家学习如何利用Python对Jira缺陷进行管理操作。

  在平时的测试中,大家对于缺陷管理平台一定不陌生,平时的缺陷都要去平台进行操作。今天我们就来看看Python是怎么样连接Jira进行操作的。

  1.2、获取JIRA数据

  某天领导要看XX项目的目前缺陷情况,总共有多少bug,多少未处理的,未处理的bug中严重程度是怎么样的,这些bug都属于谁来负责修改等。这一串问题足以把任何一个测试人员击垮,如果平时不做准备的话。

  如果你有一个定期统计缺陷信息的习惯的话,我相信你会很淡定的把结果展示给你的领导,像下图这样。

  图表中的数据应该全部来源于缺陷管理平台,如果平时有一个定期统计信息的习惯的话,那么你会很清楚的掌握目前项目的缺陷情况。今天我们重点不是将如何做好项目缺陷的统计,但是自动化的获取这些平台缺陷的信息的目的就是为了这些数据。

  首先Python操作Jira平台只需要利用Jira库就可以了,安装也很简单

  控制台输入:pip install jira

  当安装好jira库后,我们就可以连接Jira平台了,先来一个简单的脚本:连接Jira并获取当前平台所有的项目。

  from jira import JIRA

  jr=JIRA('http://jira地址',basic_auth=('登录名','密码'))

  #连接jira

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

  #打印当前用户,通过jr.user(用户名)获取用户名称

  print datetime.datetime.now().strftime('%Y年%m月%d日')

  print '============================================'

  for i in jr.projects():#jr.projects()获取所有项目,返回项目字典

  print i,i.name

  输出结果:

  好了,第一步通过jr.projects获取到项目名称后,我们就可以获取该项目下的具体缺陷信息了。获取项目下缺陷用到search_issues('project=项目name')方法,具体写法:

  issue=jr.search_issues('project=APPBUG')

  for i in iss:

  print i,i.id

  issue返回的是项目下缺陷的list,其中包含每条缺陷的key,id值。当然我们获取这个列表的长度就是项目目前缺陷总数了。我们看看返回结果:

  紧接着就是获取某条缺陷的具体信息了,像我们平时录入缺陷所要填的信息,比如:缺陷等级,缺陷状态,缺陷类型,创建时间,缺陷概要,缺陷内容,缺陷创建人,缺陷指派人,附件,备注等等信息。我们通过上面获取到的缺陷key值来获取具体的缺陷上,脚本里这样写:

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

  #传入具体缺陷的key值

  print isss.fields.issuetype

  #打印缺陷的类型,类型根据自己jira平台设置的类型而定,如缺陷,改进等

  print isss.fields. summar

  #打印缺陷的主题即标题内容

  print isss.fields.description

  #打印缺陷的描述即具体内容

  print isss.fields. status

  #打印缺陷的当前状态,如:已解决,关闭

  print isss.fields. resolution

  #打印缺陷的解决结果,此处是开发人员填写

  print isss.fields. priority

  #打印缺陷的优先级,如:严重,重要,轻微等

  print isss.fields. reporter

  #打印缺陷的创建人名称

  print isss.fields. assignee

  #打印缺陷的指派人名称

  print isss.fields. created

  #打印缺陷的创建日期

  print isss.fields.updated

  #打印缺陷的修改日期

  print '%s'%isss.fields.comment.comments

  #打印缺陷的备注信息

  print isss.fields.attachment

  #打印缺陷的附件信息

  print '%s'%isss.fields.components

  #打印缺陷的所属模块信息

  print isss.fields.environment

  #打印缺陷的环境信息

  基本上以上这些缺陷信息都是一个缺陷的必备内容了。此时我们就可以做进一步的开发了,比如获取项目中各种状态的缺陷数,利用isss.fields. status获取项目缺陷的状态分别统计个数,如果加上isss.fields. priority优先级判断,可以统计对应的状态的缺陷优先级个数。如下图


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM