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 10 Python
Python中urllib2模块的8个使用细节分享
Jan 01 Python
详解Python中expandtabs()方法的使用
May 18 Python
Python Paramiko模块的安装与使用详解
Nov 18 Python
python实现下载整个ftp目录的方法
Jan 17 Python
利用django如何解析用户上传的excel文件
Jul 24 Python
python xlsxwriter库生成图表的应用示例
Mar 16 Python
Python读写/追加excel文件Demo分享
May 03 Python
python django中8000端口被占用的解决
Dec 17 Python
利用python实现凯撒密码加解密功能
Mar 31 Python
详解Python 循环嵌套
Jul 09 Python
详解Pymongo常用查询方法总结
Jan 29 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
PHP脚本数据库功能详解(中)
2006/10/09 PHP
PHP获取网页标题的3种实现方法代码实例
2014/04/11 PHP
php生成xml时添加CDATA标签的方法
2014/10/17 PHP
浅谈php优化需要注意的地方
2014/11/27 PHP
php实现的错误处理封装类实例
2017/06/20 PHP
让ie6也支持websocket采用flash封装实现
2013/02/18 Javascript
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
js选择并转移导航菜单示例代码
2014/08/19 Javascript
使用JavaScript实现旋转的彩圈特效
2015/06/23 Javascript
深入学习AngularJS中数据的双向绑定机制
2016/03/04 Javascript
百度搜索框智能提示案例jsonp
2016/11/28 Javascript
jQuery+HTML5实现弹出创意搜索框层
2016/12/29 Javascript
从零学习node.js之搭建http服务器(二)
2017/02/21 Javascript
vue脚手架vue-cli的学习使用教程
2017/06/06 Javascript
JS实现闭包中的沙箱模式示例
2017/09/07 Javascript
谈谈vue中mixin的一点理解
2017/12/12 Javascript
JavaScript中var、let、const区别浅析
2018/06/24 Javascript
vue中使用codemirror的实例详解
2018/11/01 Javascript
详解服务端预渲染之Nuxt(介绍篇)
2019/04/07 Javascript
小程序云开发获取不到数据库记录的解决方法
2019/05/18 Javascript
Nuxt项目支持eslint+pritter+typescript的实现
2019/05/20 Javascript
Javascript幻灯片播放功能实现过程解析
2020/05/07 Javascript
小程序Scroll-view上拉滚动刷新数据
2020/06/21 Javascript
解决removeEventListener 无法清除监听的问题
2020/10/30 Javascript
在Vue中使用CSS3实现内容无缝滚动的示例代码
2020/11/27 Vue.js
Python3基础之基本运算符概述
2014/08/13 Python
浅析Python多线程下的变量问题
2015/04/28 Python
Python中集合的内建函数和内建方法学习教程
2015/08/19 Python
Python 用Redis简单实现分布式爬虫的方法
2017/11/23 Python
Python 3.6 读取并操作文件内容的实例
2018/04/23 Python
通过实例简单了解Python sys.argv[]使用方法
2020/08/04 Python
css3 border-radius属性详解
2017/07/05 HTML / CSS
信息与工商管理职业规划范文:为梦想而搏击
2014/09/11 职场文书
民事撤诉申请书范本
2015/05/18 职场文书
保护环境建议书作文400字
2015/09/14 职场文书
SQLServer2008提示评估期已过解决方案
2021/04/12 SQL Server