JIRA Python篇之统计产品尚未解决的Bugs

发表于:2018-1-02 10:14

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:天外归云    来源:博客园

#
JIRA
分享:
  通过python中的jira类我们可以方便的操作jira,获取一些我们想要再加工的信息。
  一些通过JIRA的JTL查询语句不方便直接搜索的过滤条件可以通过JIRA的python api来完成。
  在产品上线之前,要统计本期产品尚未解决的bugs。
  前提:产品未解决的故障类型jira都关联到产品的需求类型jira上。
  代码如下:
# -*- coding: utf-8 -*-
from jira import JIRA
import sys,os
#登录jira
def login_jira(username,password):
jira = JIRA("http://jira.ms.netease.com",basic_auth=(username,password))
return jira
def add_into_bugs(bugs,bug):
status = bug.fields.status.name
if status != "已解决" and status != "已关闭":
key = bug.key
jira_base_url = "http://jira.ms.netease.com/browse/"
bug_info = {
"summary":bug.fields.summary,
"url":jira_base_url+key,
"status":status,
"reporter":bug.fields
}
bugs.append(bug_info)
return bugs
if __name__ == '__main__':
username = os.environ.get("JIRA_USERNAME")
password = os.environ.get("JIRA_PASSWORD")
jira = login_jira(username,password)
issue = jira.issue("ZWW-2")
bugs = []
for issue_link in issue.fields.issuelinks:
#找关联jira——外联和内联两种,都统计为bug
if hasattr(issue_link, "outwardIssue"):
outwardIssue = issue_link.outwardIssue
bugs = add_into_bugs(bugs,outwardIssue)
if hasattr(issue_link, "inwardIssue"):
inwardIssue = issue_link.inwardIssue
bugs = add_into_bugs(bugs,inwardIssue)
print("待解决bugs数量:"+str(len(bugs)))
infos = ["<a href='"+bug["url"]+"' target='_blank'>"+bug["summary"]+"</a><br>" for bug in bugs]
with open("bug_infos.html","w") as f:
for info in infos:
f.write(info)
  其中用户名和密码储存在系统变量中并从中读取。
  本例的功能是打印待解决bugs数量并将详细jira列表信息保存到本地bug_infos.html文件。

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号