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

前提

需要安装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中运行效果如下:

通过Python的JIRA库操作JIRA的更多相关文章

  1. 使用python的jira库操作jira的版本单和问题单链接

    操作JIRA的API来实现的. 但感觉比单纯操作API要简单一些. from jira import JIRA from django.conf import settings JIRA_URL = ...

  2. Python 3 mysql 库操作

    Python 3 mysql 库操作 一.基础相关知识 MySQL数据库基本操作知识储备 数据库服务器:一台计算机(对内存要求比较高) 数据库管理系统:如mysql,是一个软件 数据库:oldboy_ ...

  3. Python - 通过PyYaml库操作YAML文件

    PyYaml简单介绍 Python的PyYAML模块是Python的YAML解析器和生成器 它有个版本分水岭,就是5.1 读取YAML5.1之前的读取方法 def read_yaml(self, pa ...

  4. Python学习-第三方库操作

    2018-05-04   12:03:19 Python安装模块,更新模块 #显示模块 pip list #显示过期模块 pip list --outdated #安装模块 pip install x ...

  5. python操作JIRA的库简单操作

    因公司需要,我们开发的PRISM又需要和JIRA对接啦, 今天找了一个JIRA库撸了一发~~~ jira库地址: https://pypi.python.org/pypi/jira/1.0.3 简单操 ...

  6. Python操作Jira

    目录 认证 项目(Project) 问题(Issue) 配置域(Fields) 关注者/评论/附件 创建/分配/转换问题 搜索 Jira提供了完善的RESTful API,如果不想直接请求API接口可 ...

  7. 通过PYTHON操作JIRA的COMMENT注释和TRANSITION工作流

    这是目前我们的自动化部署系统要作的,所以先实现吧. >>> from jira import JIRA >>> authed_jira = JIRA(server= ...

  8. python全栈开发day54-mysql库操作、表操作、数据类型、完整性约束

    一.昨日内容回顾 1.mysql的安装 1).解压文件 添加环境变量bin 2).初始化mysql生成数据data文件夹: mysqld --initialize-insecure 3).mysqld ...

  9. Python之MySQL库表操作

    一:库操作 1.1 增 # 语法 # create database 库名 default charset utf8; create database db1 default charset utf8 ...

随机推荐

  1. libev loop_init分析

    尼玛 C语言学不好真是桑心呐! 看了libev的代码有一种想死的感觉,但是还是要硬着头皮看下去,一定看完! /* initialise a loop structure, must be zero-i ...

  2. php数组使用json_encode函数中文被编码成null的原因和解决办法

    大写的囧,提客户处理问题,前端的APP一直在叽叽咂咂,说收到的值是null,弄了半天原来是这个问题,记录下吧 json格式在开发中用的十分广泛.在php中json_encode函数可以直接将数组转成 ...

  3. HDU 1710 Binary Tree Traversals (二叉树遍历)

    Binary Tree Traversals Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O ...

  4. HDU 4006 The kth great number (优先队列)

    The kth great number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Oth ...

  5. 【Linux】字符转换命令paste

    这个 paste 就要比join 简单多了!相对于 join 必须要比对两个文件的数据相关性, paste 就直接『将两行贴在一起,且中间以 [tab] 键隔开』而已!简单的使用方法: [root@w ...

  6. C#多线程JOIN方法初探

    [说明:刚接触多线程时,弄不明白Join()的作用,查阅了三本书,都不明不白.后来经过自己的一番试验,终于弄清了Join()的本质.大家看看我这种写法是否易懂,是否真的写出了Join()的本质,多提宝 ...

  7. 字符集不同导致的ORA-00972

    使用ssh登录RAC的两个节点,分别执行相同的sql语句,发现其中一个报错ora-00972: 检查后发现,左侧节点的客户端使用的字符集是SecureCRT的默认字符集,右侧使用的是UTF-8

  8. iOS Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'unable to

    刚接触iOS,依照教程操作执行出现错误 Terminating app due to uncaught exception 'NSInternalInconsistencyException', re ...

  9. PostgreSQL创建数据库用户

    注:版本不同,命令的执行路径可能有些不同. 一. 创建数据库用户freeswitch sudo -u postgres /usr/pgsql-9.5/bin/createuser -s -e free ...

  10. ASP.NET 的ClientIDMode属性

    在ASP.NET 4.0之前我们总是要为控件的ClientID头疼,比如明明一个叫lblName的Label放在一个叫做grd的GridView里面后,在页面上改Label的ID就变成了诸如grd_c ...