zoukankan      html  css  js  c++  java
  • JIRA python篇之统计产品尚未解决的bugs

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

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

  • 相关阅读:
    软件测试
    python学习之路
    好用的在线画图工具processon
    spring-boot集成dubbo
    公众号开放,关注软件开发过程中的哪些坑
    crontab 中curl命令无法正常执行
    近一月翻阅资料小结
    nginx+tomat8负载后,利用redis实现tomcat8的session共享
    centos7 安装nginx
    centos 上安装redis 3.0.5
  • 原文地址:https://www.cnblogs.com/LanTianYou/p/8108219.html
Copyright © 2011-2022 走看看