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

通过python中的jira类我们可以方便的操作jira,获取一些我们想要再加工的信息。

这里举例,用html页面的形式展示分派给组内每个人的任务(未完成的、正在进行中的)列表。

第一步,安装jira的python库:

pip install jira

第二步,获取组内每个人的任务(未完成的、正在进行中的)并写到本地html文件中,代码如下:

# -*- coding: utf-8 -*-
from jira import JIRA
import sys,os
import webbrowser
sys.path.append("libs") #登录jira
def login_jira(username,password):
jira = JIRA("http://jira.ms.netease.com",basic_auth=(username,password))
return jira def generate_tasks_distribution(jira,testers):
with open("distribution.html","w") as f:
f.write("<html><head><meta charset=\"gbk\"><title>进行中的任务统计表</title>")
f.write("<link rel=\"stylesheet\" href=\"https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css\">")
f.write("<script src=\"https://cdn.bootcss.com/jquery/2.1.1/jquery.min.js\"></script>")
f.write("<script src=\"https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js\"></script></head><body>")
for tester in testers:
jql = '测试人员='+tester+' AND status not in (Resolved, Closed, Done) ORDER BY priority DESC, created DESC'
issues_in_progress = jira.search_issues(jql)
count = len(issues_in_progress)
f.write("<br/>")
f.write("<table class=\"table table-hover\">")
f.write("<caption style='text-align:center;'><h1>"+testers[tester]+"</h1>正在进行中的任务有"+str(count)+"个</caption>")
f.write("<thead><tr><th>序号</th><th>标题</th><th>创建时间</th></tr></thead><tbody>")
i = 0
for issue in issues_in_progress:
key = issue.key
url = "http://jiraUrl/"+key
summary = issue.fields.summary
created = (issue.fields.created).split("T")[0]
content = "<tr><td>"+str(i+1)+"</td><td>"
content += "<a href='"+url+"' target='_blank'>"+summary+"</a>"+"</td>"
content += "<td><font color='red'> 创建时间:"+created+"</font></td></tr>"
f.write(content)
i += 1
f.write("</tbody></table>")
f.write("</body></html>") if __name__ == '__main__':
username = "用户名"
password = "密码"
testers = {"username1":"组员1的名字", "username2":"组员2的名字", "username3":"组员3的名字", "username4":"组员4的名字", "username5":"组员5的名字"}
jira = login_jira(username,password)
generate_tasks_distribution(jira,testers)
path = os.path.dirname(os.path.abspath(__file__))
url = os.path.join(path,'distribution.html')
webbrowser.open(url)

运行后会在当前目录生成一个distribution.html文件并调用默认浏览器打开,这里用了bootstrap的表格展示。

浏览器中打开html文件就可以看到展示效果,会列出组内每个成员当前正在进行时的任务列表,包含序号、标题(点击可跳转到对应jira)、创建日期。

代码中需替换的部分有:

jql:其中的status可能各个公司制定的都不同,需要替换成实际使用的status,在jira里可以自动生成jql查询语句;

jiraUrl:替换成对应公司的jira的url中不包含jira key的部分;

username:替换成登录公司jira的账号用户名;

password:替换成登录公司jira的账号密码;

testers:其中对应的是组员,key值写的是jira中组员的名字,value值写的是组员对应的真名。

JIRA python篇之展示多人未完成任务列表的更多相关文章

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

    [本文出自天外归云的博客园] 通过python中的jira类我们可以方便的操作jira,获取一些我们想要再加工的信息. 一些通过JIRA的JTL查询语句不方便直接搜索的过滤条件可以通过JIRA的pyt ...

  2. GitHub 上适合新手的开源项目(Python 篇)

    作者:HelloGitHub-卤蛋 随着 Python 语言的流行,越来越多的人加入到了 Python 的大家庭中.为什么这么多人学 Python ?我要喊出那句话了:"人生苦短,我用 Py ...

  3. 给缺少Python项目实战经验的人

    我们在学习过程中最容易犯的一个错误就是:看的多动手的少,特别是对于一些项目的开发学习就更少了! 没有一个完整的项目开发过程,是不会对整个开发流程以及理论知识有牢固的认知的,对于怎样将所学的理论知识应用 ...

  4. 阿里云物联网平台体验(树莓派+Python篇)

    阿里云物联网平台体验(树莓派+Python篇) 虽然对阿里云物联网平台比较熟悉了,从一开始就有幸参与了飞凤平台(Link Develop 一站式开发平台的前身)的一些偏硬件接入的工作.但是同时也见证了 ...

  5. C++混合编程之idlcpp教程Python篇(9)

    上一篇在这 C++混合编程之idlcpp教程Python篇(8) 第一篇在这 C++混合编程之idlcpp教程(一) 与前面的工程相比,工程PythonTutorial7中除了四个文件PythonTu ...

  6. C++混合编程之idlcpp教程Python篇(8)

    上一篇在这 C++混合编程之idlcpp教程Python篇(7) 第一篇在这 C++混合编程之idlcpp教程(一) 与前面的工程相似,工程PythonTutorial6中,同样加入了四个文件:Pyt ...

  7. C++混合编程之idlcpp教程Python篇(7)

    上一篇在这 C++混合编程之idlcpp教程Python篇(6) 第一篇在这 C++混合编程之idlcpp教程(一) 与PythonTutorial4工程相似,工程PythonTutorial5中,同 ...

  8. C++混合编程之idlcpp教程Python篇(6)

    上一篇在这 C++混合编程之idlcpp教程Python篇(5) 第一篇在这 C++混合编程之idlcpp教程(一) 工程PythonTutorial4中加入了四个文件:PythonTutorial4 ...

  9. C++混合编程之idlcpp教程Python篇(5)

    上一篇在这  C++混合编程之idlcpp教程Python篇(4) 第一篇在这 C++混合编程之idlcpp教程(一) 与前面的工程相似,工程PythonTutorial3中,同样加入了三个文件:Py ...

随机推荐

  1. 【DeepLearning】Exercise:Softmax Regression

    Exercise:Softmax Regression 习题的链接:Exercise:Softmax Regression softmaxCost.m function [cost, grad] = ...

  2. elk之elasticsearch 入门

    一.概述: 1.查看elasticsearch集群的健康状况: [root@node115 kibana]# curl -X GET http://192.168.39.115:9200/_cat/h ...

  3. 【Linux】字符转换命令col

    [root@www ~]# col [-xb] 选项与参数: -x :将 tab 键转换成对等的空格键 -b :过滤掉所有的控制字符,包括RLF(Reverse Line Feed)和HRF(Halt ...

  4. Win 7 IE11不能下载文件,右键另存为也不行

    在IE11中不能下载文件,右键另存为也无效. 发现 在IE11中点击“INTERNET选项”后,IE临时文件夹的地址没有显示,大小为0,修改只能让设置在8-8MB,注销再登录后,一切设置无效. 问题就 ...

  5. Linux查看当前网卡流量

    sar(system activity reporter) sar通过cron定时调用执行收集和记录信息,默认是10分钟执行一次. # more /etc/cron.d/sysstat # Run s ...

  6. SharePoint 2013怎样创建Wiki库

    们使用Wiki页面来分享知识,增进团队合作.下面我将向大家展示SharePoint 2013 Wiki的使用方法.教程我都将以这张Wiki页面(即当前页)为示例. 编辑页面 如要编辑页面,单击顶部Ed ...

  7. Raid介绍

    https://wsgzao.github.io/post/raid/ http://www.cnblogs.com/Bob-FD/p/3409221.html

  8. C#日期格式转换大全

    有时候我们要对时间进行转换,达到不同的显示效果 默认格式为:2005-6-6 14:33:34 如果要换成成200506,06-2005,2005-6-6或更多的该怎么办呢 我们要用到:DateTim ...

  9. grafana 的面板设置

    1.工作中我们会计算连个字段的四则运算

  10. MySql(十):MySQL性能调优——MySQL Server性能优化

    本章主要通过针对MySQL Server( mysqld)相关实现机制的分析,得到一些相应的优化建议.主要涉及MySQL的安装以及相关参数设置的优化,但不包括mysqld之外的比如存储引擎相关的参数优 ...