开发者社区> 天外归云> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

JIRA python篇之统计产品尚未解决的bugs

简介: [本文出自天外归云的博客园] 通过python中的jira类我们可以方便的操作jira,获取一些我们想要再加工的信息。 一些通过JIRA的JTL查询语句不方便直接搜索的过滤条件可以通过JIRA的python api来完成。
+关注继续查看

[本文出自天外归云的博客园]

通过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文件。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
JIRA python篇之展示多人未完成任务列表
[本文出自天外归云的博客园] 通过python中的jira类我们可以方便的操作jira,获取一些我们想要再加工的信息。 这里举例,用html页面的形式展示分派给组内每个人的任务(未完成的、正在进行中的)列表。
1247 0
Spark机器学习1·编程入门(scala/java/python)
Spark机器学习1·编程入门
5979 0
spark编程python实例
spark编程python实例 ValueError: Cannot run multiple SparkContexts at once; existing SparkContext(app=PySparkShell, master=local[]) 1.pyspark在jupyter notebook中开发,测试,提交 1.1.启动 IPYTHON_OPT
3069 0
Spark RDD编程(Python和Scala版本)
Spark中的RDD就是一个不可变的分布式对象集合,是一种具有兼容性的基于内存的集群计算抽象方法,Spark则是这个方法的抽象。 Spark的RDD操作分为转化操作(transformation)和行动操作(action),两者的区别在于:        a.
815 0
+关注
天外归云
测试开发工程师,目前就职于网易。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Python 系列直播——深入Python与日志服务,玩转大规模数据分析处理实战第二讲
立即下载
Python 脚本速查手册
立即下载
Python第四讲——使用IPython/Jupyter Notebook与日志服务玩转超大规模数据分析与可视化
立即下载