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 相关文章推荐
Go语言基于Socket编写服务器端与客户端通信的实例
Feb 19 Python
Python 常用 PEP8 编码规范详解
Jan 22 Python
Python存取XML的常见方法实例分析
Mar 21 Python
python中获得当前目录和上级目录的实现方法
Oct 12 Python
python批量导入数据进Elasticsearch的实例
May 30 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
Jul 22 Python
原生python实现knn分类算法
Oct 24 Python
python基于TCP实现的文件下载器功能案例
Dec 10 Python
python编写一个会算账的脚本的示例代码
Jun 02 Python
Python使用itcaht库实现微信自动收发消息功能
Jul 13 Python
如何使用Python自动生成报表并以邮件发送
Oct 15 Python
请求模块urllib之PYTHON爬虫的基本使用
Apr 08 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
VFP与其他应用程序的集成
2006/10/09 PHP
phpwind中的数据库操作类
2007/01/02 PHP
require(),include(),require_once()和include_once()的异同
2007/01/02 PHP
mysql 的 like 问题,超强毕杀记!!!
2007/01/18 PHP
smarty模板局部缓存方法使用示例
2014/06/17 PHP
php json相关函数用法示例
2017/03/28 PHP
php array 转json及java 转换 json数据格式操作示例
2019/11/13 PHP
js各种验证文本框输入格式(正则表达式)
2010/10/22 Javascript
formValidator3.3的ajaxValidator一些异常分析
2011/07/12 Javascript
NodeJS中Buffer模块详解
2015/01/07 NodeJs
JavaScript中setMonth()方法的使用详解
2015/06/11 Javascript
js的form表单提交url传参数(包含+等特殊字符)的两种解决方法
2016/05/25 Javascript
JQuery控制DIV的选取实现方法
2016/09/18 Javascript
用angular实现多选按钮的全选与反选实例代码
2017/05/23 Javascript
Angular 4依赖注入学习教程之组件服务注入(二)
2017/06/04 Javascript
解决VUE框架 导致绑定事件的阻止冒泡失效问题
2018/02/24 Javascript
详解Vue改变数组中对象的属性不重新渲染View的解决方案
2018/09/21 Javascript
vue项目环境变量配置的实现方法
2018/10/12 Javascript
JQuery Ajax执行跨域请求数据的解决方案
2018/12/10 jQuery
小程序跳转到的H5页面再跳转回跳小程序的方法
2020/03/06 Javascript
解决vue单页面应用进入页面加载所有 js 的问题
2020/08/12 Javascript
javascript实现点击按钮切换轮播图功能
2020/09/23 Javascript
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
用Python抢过年的火车票附源码
2015/12/07 Python
Django ORM 常用字段与不常用字段汇总
2019/08/09 Python
Django文件上传与下载(FileFlid)
2019/10/06 Python
Python如何实现大型数组运算(使用NumPy)
2020/07/24 Python
ubuntu16.04升级Python3.5到Python3.7的方法步骤
2020/08/20 Python
便携式太阳能系统的创新者:GOAL ZERO
2018/02/04 全球购物
办公室前台的岗位职责
2013/12/20 职场文书
《燕子专列》教学反思
2014/02/21 职场文书
初中生操行评语大全
2014/04/24 职场文书
检讨书1000字
2014/10/11 职场文书
2015年行政工作总结范文
2015/04/09 职场文书
就业推荐表院系意见
2015/06/05 职场文书
《小蝌蚪找妈妈》教学反思
2016/02/23 职场文书