经过Python的JIRA库操做JIRA

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

前提

须要安装jira库:测试

pip install jira

编写脚本

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

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

脚本以下:设计

# -*- 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中运行效果以下:code

相关文章
相关标签/搜索