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求素数示例分享
Feb 16 Python
在Python中操作字符串之replace()方法的使用
May 19 Python
python3.6连接MySQL和表的创建与删除实例代码
Dec 28 Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
Nov 11 Python
浅谈SciPy中的optimize.minimize实现受限优化问题
Feb 29 Python
pandas中read_csv、rolling、expanding用法详解
Apr 21 Python
jenkins+python自动化测试持续集成教程
May 12 Python
Python基于numpy模块实现回归预测
May 14 Python
在pycharm中debug 实时查看数据操作(交互式)
Jun 09 Python
什么是python类属性
Jun 10 Python
用python实现学生管理系统
Jul 24 Python
LyScript实现绕过反调试保护的示例详解
Aug 14 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
Apache 配置详解(最好的APACHE配置教程)
2010/07/04 PHP
PHP写的加密函数,支持私人密钥(详细介绍)
2013/06/09 PHP
php读取mysql中文数据出现乱码的解决方法
2013/08/16 PHP
php配合jquery实现增删操作具体实例
2013/12/12 PHP
一个显示效果非常不错的PHP错误、异常处理类
2014/03/21 PHP
PHP面向对象中new self()与 new static()的区别浅析
2017/08/17 PHP
PHP Class SoapClient not found解决方法
2018/01/20 PHP
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.3
2008/03/22 Javascript
JS实现的省份级联实例代码
2013/06/24 Javascript
如何通过javascript操作web控件的自定义属性
2013/11/25 Javascript
分享五个有用的jquery小技巧
2015/10/08 Javascript
JavaScript Math.round() 方法
2015/12/18 Javascript
微信小程序 基础组件与导航组件详细介绍
2017/02/21 Javascript
动态统计当前输入内容的字节、字符数的实例详解
2017/10/27 Javascript
Vue中的无限加载vue-infinite-loading的方法
2018/04/08 Javascript
CSS3 动画卡顿性能优化的完美解决方案
2018/09/20 Javascript
js实现无限瀑布流实例方法
2019/09/16 Javascript
手把手带你搭建一个node cli的方法示例
2020/08/07 Javascript
用Nodejs实现在终端中炒股的实现
2020/10/18 NodeJs
python中类的一些方法分析
2014/09/25 Python
Python使用Beautiful Soup包编写爬虫时的一些关键点
2016/01/20 Python
python实现多线程抓取知乎用户
2016/12/12 Python
python中的Elasticsearch操作汇总
2019/10/30 Python
python3 图片 4通道转成3通道 1通道转成3通道 图片压缩实例
2019/12/03 Python
flask 使用 flask_apscheduler 做定时循环任务的实现
2019/12/10 Python
python 图像插值 最近邻、双线性、双三次实例
2020/07/05 Python
HTML5拖放API实现拖放排序的实例代码
2017/05/11 HTML / CSS
澳大利亚领先的在线机械五金、园艺和存储专家:Edisons
2018/03/24 全球购物
NFL官方在线商店:NFLShop
2020/07/29 全球购物
求职简历自荐信
2013/10/20 职场文书
学习决心书范文
2014/03/11 职场文书
青年志愿者先进事迹
2014/05/06 职场文书
资源环境与城乡规划管理专业自荐书
2014/09/26 职场文书
初三学生语文考试作弊检讨书
2014/12/14 职场文书
2015年小学数学教师工作总结
2015/05/20 职场文书
《我的伯父鲁迅先生》教学反思
2016/02/16 职场文书