JIRA python篇之展示多人未完成任务列表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JIRA python篇之展示多人未完成任务列表相关的知识,希望对你有一定的参考价值。

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

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

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

第一步,安装jira的python库:

pip install jira

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

# -*- coding: utf-8 -*-
from jira import JIRA#登录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)

运行后会在当前目录生成一个distribution.html文件,这里用了bootstrap的表格展示。

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

 

代码中需替换的部分有:

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

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

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

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

以上是关于JIRA python篇之展示多人未完成任务列表的主要内容,如果未能解决你的问题,请参考以下文章

Hooks + TS 搭建一个任务管理系统-- 项目列表展示

配置 JIRA 默认观察者列表

将 BuildBot 集成到 JIRA

如何获取未分配但由我完成的任务列表?

Python入门篇之列表

用Jira webhook和Jenkins创建自动审批工作流