經過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

相關文章
相關標籤/搜索