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内置函数delattr的具体用法
Nov 23 Python
获取python的list中含有重复值的index方法
Jun 27 Python
通过pykafka接收Kafka消息队列的方法
Dec 27 Python
对python中Json与object转化的方法详解
Dec 31 Python
python实现两个经纬度点之间的距离和方位角的方法
Jul 05 Python
余弦相似性计算及python代码实现过程解析
Sep 18 Python
Pandas操作CSV文件的读写实现方法
Nov 13 Python
python实现按关键字筛选日志文件
Dec 24 Python
关于Django Models CharField 参数说明
Mar 31 Python
Python如何把十进制数转换成ip地址
May 25 Python
Python通过format函数格式化显示值
Oct 17 Python
Python入门之使用pandas分析excel数据
May 12 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
用文本文件实现的动态实时发布新闻的程序
2006/10/09 PHP
windows下PHP APACHE MYSQ完整配置
2007/01/02 PHP
php unset全局变量运用问题的深入解析
2013/06/17 PHP
PHP打开和关闭文件操作函数总结
2014/11/18 PHP
PHP mkdir创建文件夹实现方法解析
2020/11/13 PHP
JavaScript实现网页图片等比例缩放实现代码及调用方式
2013/02/25 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
2013/11/12 Javascript
jquery中交替点击事件的实现代码
2014/02/14 Javascript
js clearInterval()方法的定义和用法
2015/11/11 Javascript
js运动应用实例解析
2015/12/28 Javascript
mvc中form表单提交的三种方式(推荐)
2016/08/10 Javascript
Bootstrap基本样式学习笔记之标签(5)
2016/12/07 Javascript
jQuery Easyui datagrid行内实现【添加】、【编辑】、【上移】、【下移】
2016/12/19 Javascript
Jil,高效的json序列化和反序列化库
2017/02/15 Javascript
jQuery UI实现动画效果代码分享
2018/08/19 jQuery
JS异步错误捕获的一些事小结
2019/04/26 Javascript
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
2019/07/26 Javascript
如何在vue 中使用柱状图 并自修改配置
2021/01/21 Vue.js
[02:57]2014DOTA2国际邀请赛-观众采访
2014/07/19 DOTA
[36:13]Mineski vs iG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[36:54]Mineski vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python逐行读取文件内容的三种方法
2014/01/20 Python
pandas表连接 索引上的合并方法
2018/06/08 Python
python django 原生sql 获取数据的例子
2019/08/14 Python
西班牙在线宠物食品和配件商店:bitiba
2019/10/11 全球购物
解释下列WebService名词:WSDL、SOAP、UDDI
2012/06/22 面试题
警察思想汇报
2014/01/04 职场文书
父亲生日宴会答谢词
2014/01/10 职场文书
上课迟到检讨书
2014/02/19 职场文书
纪念九一八事变演讲稿:勿忘国耻
2014/09/14 职场文书
2015年教师见习期工作总结
2015/05/20 职场文书
公司职员入党自传书
2015/06/26 职场文书
2016年幼儿园庆六一开幕词
2016/03/04 职场文书
jquery插件实现悬浮的菜单
2021/04/24 jQuery
python中使用 unittest.TestCase单元测试的用例详解
2021/08/30 Python
动画电影《龙珠超 超级英雄》延期上映
2022/03/20 日漫