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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM