JIRA python篇之展示多人未完成任务列表
2023-09-27 14:26:55 时间
[本文出自天外归云的博客园]
通过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值写的是组员对应的真名。
相关文章
- Linux 升级 Python 至 3.x
- python 书籍推荐 三
- 0基础成功转行Python自动化测试工程师,年薪30W+,经验总结都在这(建议收藏)
- python接口自动化 —— 什么是接口、接口优势、类型(详解)
- 零基础如何学好Python开发?
- python-socket连接
- SWIG 和 Python——c/c++与脚本交互
- python 细枝末节
- 如何用python模拟鼠标和键盘的操作
- python之高阶函数map/reduce
- python字符串列表字典相互转换
- python字典和列表使用的要点
- python的文件操作file:(内置函数,如seek、truncate函数)
- Python正则表达式re.findall一个有趣的现象
- Python 使用Lambda对list(列表)中指定格式字符串元素排序方法
- Python 通过all()判断列表(list)中所有元素是否都包含某个字符串(string)
- Python PCA主成分分析算法
- 【Android 逆向】使用 Python 编写 APK 批处理分析工具
- Head First Python 读书笔记(四)
- python datetime使用 获取前n天的日期 - 获取最近n周时间列表 - 获取最近n天时间列表
- python - 统计一个列表当中的每一个元素出现了多少次
- python - list列表的sort方法,对字典和列表进行排序
- Django查询limit,不支持负索引 - python列表反转的几种方式
- 为什么python程序中查询MySQL的语句在数据表数据增加之后,查询到的结果却没变,还是原来的数据量?
- 四十四、python学习之Django框架(三):Admin站点, 调整列表页展示, 重写模板