Python用Jira库来操作Jira


Posted in Python onDecember 28, 2020

Jira简介

Jira是一款功能非常强大的管理工具,广泛的用来 缺陷跟踪、用例管理、需求收集、任务跟踪、工时管理、项目计划管理等工作领域。所以使用这款产品的公司很多,这篇博客讲述在执行自动化测试用例过程中,将失败的用例自动在jira系统记录bug。

提供了完善的RESTful API,如果不想直接请求API接口可以使用Python的Jira库来操作Jira。

官方文档 

一、安装

# 安装第三方jira库
pip install jira

二、认证

官网提供了4种认证方式:

  • Cookie Based Authentication(用户名、密码)
  • HTTP BASIC(用户名、密码)
  • OAuth
  • Kerberos

我们选取一种认证方式即可,下文以HTTP BASIC为例:

# jira访问地址
server = 'http://jira.xxx.com.cn'
# 用户名密码以元祖的方式传递。uesrname、passwd填写真实的账号密码
jiraClinet = JIRA(server=server, basic_auth=('username', 'passwd'))

三、创建issue

 create_issue() 单个创建issue,传入参数是字典

 create_issues() 批量创建issues,传入参数是列表

# 创建单个issue
issue_dict = {
  # key 是项目空间的关键字,将issue记录到此空间
  'project': {'key': 'TOC'},
  'issuetype': {'name': 'Bug'},
  'summary': '测试自动提交',
  'description': '描述',
  'reporter': {'name': '007'},
  'assignee': {'name': '008'},
  # 'priority': {'id': 3},
  # 'customfield_10403':{'value':'研发中心'},
  # 'customfield_11349':{'value':'业务需求'}
}
# 返回 issueId
jiraClinet.create_issue(issue_dict)



#批量创建issues
issue_list = [{
  'project': {'key': 'TOC'},
  'issuetype': {'name': 'Bug'},
  'summary': '测试自动提交01',
  'description': '描述01',
  'reporter': {'name': '007'},
  'assignee': {'name': '008'},
},
{  
  'project': {'key': 'TOC'},
  'issuetype': {'name': 'Bug'},
  'summary': '测试自动提交02',
  'description': '描述02',
  'reporter': {'name': '007'},
  'assignee': {'name': '008'}
}]

# 返回 issue 列表
jiraClinet.create_issues(issue_list)

四、常用方法

 JIRA类提供了很多方法,这里介绍几个常用的

 1)查询 project

# 获取所有项目空间列表
jiraClinet.projects()

# 获取单个项目空间。参数为项目空间 id或key
# project = jiraClinet.project(100)
project = jiraClinet.project('xxx')

# 项目的 key
project.key

# 项目空间的 name
project.name

# 项目空间 description
project.description

# 项目空间 lead
project.lead

2)查询 issue

# 查询issue信息,传入参数issueId
issue = jiraClinet.issue('xxx-679')

# 问题的 key
issue.key

# 问题的 id
issue.id

# 问题的配置域
issue.fields

# 问题标题描述
issue.fields.summary

# 问题详细描述
issue.fields.description

# 问题的类型
issue.fields.issuetype

#问题报告者
issue.fields.reporter

3)使用“JQL语句”查询

# search_issues() 传参是 jira 里的JQL语句,返回一个 issue 列表
issue_list = jiraClinet.search_issues('JQL语句')
for issue in issue_list:
  # 打印每个 issue 的 key
  print(issue.key)

以上就是Python用Jira库来操作Jira的详细内容,更多关于python 操作Jira的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python获取糗百图片代码实例
Dec 18 Python
使用Python导出Excel图表以及导出为图片的方法
Nov 07 Python
Python卸载模块的方法汇总
Jun 07 Python
Python 模拟员工信息数据库操作的实例
Oct 23 Python
Python英文文本分词(无空格)模块wordninja的使用实例
Feb 20 Python
Python列表对象实现原理详解
Jul 01 Python
Python将文字转成语音并读出来的实例详解
Jul 15 Python
详解python tkinter模块安装过程
Jan 06 Python
flask框架url与重定向操作实例详解
Jan 25 Python
在 Linux/Mac 下为Python函数添加超时时间的方法
Feb 20 Python
python上传时包含boundary时的解决方法
Apr 08 Python
通过代码实例了解Python异常本质
Sep 16 Python
python性能测试工具locust的使用
Dec 28 #Python
Python+kivy BoxLayout布局示例代码详解
Dec 28 #Python
python字典与json转换的方法总结
Dec 28 #Python
python字典按照value排序方法
Dec 28 #Python
python Timer 类使用介绍
Dec 28 #Python
PyChon中关于Jekins的详细安装(推荐)
Dec 28 #Python
python获取天气接口给指定微信好友发天气预报
Dec 28 #Python
You might like
java EJB 加密与解密原理的一个例子
2008/01/11 PHP
php长字符串定义方法
2012/07/12 PHP
深入解析fsockopen与pfsockopen的区别
2013/07/05 PHP
PHP魔术方法__GET、__SET使用实例
2014/11/25 PHP
php判断用户是否手机访问代码
2015/06/08 PHP
PHP QRCODE生成彩色二维码的方法
2016/05/19 PHP
PHP计算近1年的所有月份
2017/03/13 PHP
PHP实现数据库的增删查改功能及完整代码
2018/04/18 PHP
如何实现JS函数的重载
2006/09/22 Javascript
javascript 动态修改样式和层叠样式表代码
2010/04/27 Javascript
基于jquery的自定义鼠标提示效果 jquery.toolTip
2010/11/14 Javascript
js实现无需数据库的县级以上联动行政区域下拉控件
2013/08/14 Javascript
JavaScript 命名空间 使用介绍
2013/08/29 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
JavaScript淡入淡出渐变简单实例
2015/08/06 Javascript
原生JS京东轮播图代码
2017/03/22 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
2017/09/20 Javascript
Vue v2.5 调整和更新不完全问题
2017/10/24 Javascript
JS实现基于拖拽改变物体大小的方法
2018/01/23 Javascript
JS将网址url转化为JSON格式的方法
2018/07/02 Javascript
取消Bootstrap的dropdown-menu点击默认关闭事件方法
2018/08/10 Javascript
Vue中axios的封装(报错、鉴权、跳转、拦截、提示)
2019/08/20 Javascript
微信小程序利用button控制条件标签的变量问题
2020/03/15 Javascript
react+antd 递归实现树状目录操作
2020/11/02 Javascript
jQuery冲突问题解决方法
2021/01/19 jQuery
Python爬虫DNS解析缓存方法实例分析
2017/06/02 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
2018/12/13 Python
python删除列表元素的三种方法(remove,pop,del)
2019/07/22 Python
python实现画出e指数函数的图像
2019/11/21 Python
亚洲航空公司官方网站:AirAsia
2019/11/25 全球购物
教师求职信范文分享
2013/12/27 职场文书
厨房管理计划书
2014/04/27 职场文书
我的中国梦演讲稿小学篇
2014/08/19 职场文书
中学生旷课检讨书模板
2014/10/08 职场文书
2014年机关工会工作总结
2014/12/19 职场文书
导游词之泉州崇武古城
2019/12/20 职场文书