[本文出自天外归云的博客园]
前提
需要安装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中运行效果如下: