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

相关文章
|
4天前
|
机器学习/深度学习 算法 数据挖掘
统计学与Python:实现描述性统计和推断性统计分析
【4月更文挑战第12天】本文介绍了Python在统计学中的应用,重点讲解了如何使用Python进行描述性与推断性统计分析。Pandas和NumPy库用于描述性统计,提供数据概括和总结功能;Scipy和Statsmodels库支持推断性统计,包括假设检验和模型建立。通过数据导入、描述性统计量计算、图表绘制以及假设检验和回归分析等步骤,展示了Python实现统计分析的基本流程。持续学习和实践将有助于提升Python统计分析能力。
|
4天前
|
Python
277: 程序设计C 实验二 题目五 统计二进制数中的1的个数(python)
277: 程序设计C 实验二 题目五 统计二进制数中的1的个数(python)
|
4天前
|
数据可视化 API Python
画图实战-Python实现某产品全年销量数据多种样式可视化
画图实战-Python实现某产品全年销量数据多种样式可视化
40 0
|
4天前
|
存储 运维 数据挖掘
Python列表中每个元素前面连续重复次数的数列统计
Python列表中每个元素前面连续重复次数的数列统计
12 1
|
1天前
|
SQL 存储 数据库
两个Python脚本轻松解决ETL工作:统计多个服务器下所有数据表信息
两个Python脚本轻松解决ETL工作:统计多个服务器下所有数据表信息
|
1天前
|
SQL 存储 数据库
两个Python脚本轻松解决ETL工作:统计多个服务器下所有数据表信息(1)
两个Python脚本轻松解决ETL工作:统计多个服务器下所有数据表信息(1)
|
2天前
|
SQL Java 数据处理
实时计算 Flink版产品使用合集之怎么热加载Java和Python的UDF
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
11 1
|
3天前
|
消息中间件 网络协议 开发工具
MQ产品使用合集之rocketmq5.x只有tcp接入点吗,python sdk需要http接入点,请问怎么使用
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
14 2
|
4天前
|
SQL DataWorks 安全
DataWorks产品使用合集之DataWorks资源里python运行时候,查看中途打印日志如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
26 0
|
4天前
|
分布式计算 DataWorks 关系型数据库
MaxCompute产品使用合集之我需要在MaxCompute客户端添加Python第三方包,我该怎么操作
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。