通过Python的JIRA库操作JIRA

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

前提

需要安装jira库:

pip install jira

编写脚本

例如,我想统计一下某一jira的备注里是否有如下信息,没有则给予提示:

[产品需求文档地址]:http://xxx/xx.cn
[视觉设计文档地址]:http://xxx/xx.cn
[开发接口文档地址]:http://xxx/xx.cn
[测试配置文档地址]:http://xxx/xx.cn

脚本如下:

# -*- coding: utf-8 -*-
from jira import JIRA
import re

#登录jira
def login_jira(username,password):
    jira = JIRA("http://jira.ms.netease.com",basic_auth=(username,password))
    return jira

#获取备注内容,返回包含备注内容的列表
def get_comments_content(issue):
    return [comment.body for comment in issue.fields.comment.comments]

#从所有的行中检查是否包含指定内容,是则返回OK
def check_from_lines(content,lines):
    p = re.compile(content)
    for line in lines:
        if p.findall(line) != []:
            return "OK"

#检查jira上备注中的文档信息是否填写完善
def check_documents_info(issue):
    lines = ''.join(get_comments_content(issue)).split("\r\n")
    check_list = [u'产品需求文档地址',u'视觉设计文档地址',u'开发接口文档地址',u'测试配置文档地址']
    lack_list = []
    for item in check_list:
        if check_from_lines(item,lines) != "OK":
            lack_list.append(item)
    check_doc_result = []
    check_doc_result.append(u"Jira统计信息缺失,请在jira上按如下格式添加如下信息——")
    for item in lack_list:
        check_doc_result.append(u"["+item+u"]:http://xxx/xx.cn")
    return check_doc_result

#打印检查结果列表
def print_check_result(result_info):
    for line in result_info:
        print line

if __name__ == '__main__':
    jira = login_jira('用户名','密码')
    issue = jira.issue('JIRA号')
    print_check_result(check_documents_info(issue))

代码中“用户名”、“密码”、“JIRA号”是需要替换的部分。在PowerShell中运行效果如下:

posted @ 2017-03-20 20:56  天外归云  阅读(4042)  评论(0编辑  收藏  举报