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 获取 Linux 系统信息的代码
Jul 13 Python
Python中有趣在__call__函数
Jun 21 Python
python实现ping的方法
Jul 06 Python
详解python分布式进程
Oct 08 Python
Python数据集切分实例
Dec 08 Python
树莓派使用USB摄像头和motion实现监控
Jun 22 Python
Python求离散序列导数的示例
Jul 10 Python
详解如何从TensorFlow的mnist数据集导出手写体数字图片
Aug 05 Python
python3图片文件批量重命名处理
Oct 31 Python
使用PyOpenGL绘制三维坐标系实例
Dec 24 Python
详解python模块pychartdir安装及导入问题
Oct 22 Python
Python爬虫自动化获取华图和粉笔网站的错题(推荐)
Jan 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
PHP自带ZIP压缩、解压缩类ZipArchiv使用指南
2015/03/03 PHP
今天你说520了吗?不仅有php表白书还有java表白神器
2016/05/20 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
[原创]站长必须要知道的javascript广告代码
2007/05/30 Javascript
ASP.NET jQuery 实例14 在ASP.NET form中校验时间范围
2012/02/03 Javascript
javascript+xml实现简单图片轮换(只支持IE)
2012/12/23 Javascript
jquery乱码与contentType属性设置问题解决方案
2013/01/07 Javascript
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
2013/08/05 Javascript
javascript计算用户打开网页的停留时间
2014/01/09 Javascript
js树插件zTree获取所有选中节点数据的方法
2015/01/28 Javascript
javascript制作游戏开发碰撞检测的封装代码
2015/03/31 Javascript
JS对字符串编码的几种方式使用指南
2015/05/14 Javascript
js跨域请求数据的3种常用的方法
2015/12/01 Javascript
js实现人民币大写金额形式转换
2016/04/27 Javascript
微信小程序 页面跳转传参详解
2016/10/28 Javascript
vue.js的手脚架vue-cli项目搭建的步骤
2017/08/30 Javascript
js实现1,2,3,5数字按照概率生成
2017/09/12 Javascript
socket在egg中的使用实例代码详解
2019/05/30 Javascript
vue fetch中的.then()的正确使用方法
2020/04/17 Javascript
通过angular CDK实现页面元素拖放的步骤详解
2020/07/01 Javascript
jQuery使用jsonp实现百度搜索的示例代码
2020/07/08 jQuery
Python标准库之Sys模块使用详解
2015/05/23 Python
python递归打印某个目录的内容(实例讲解)
2017/08/30 Python
Python使用zip合并相邻列表项的方法示例
2018/03/17 Python
PyQt5每天必学之创建窗口居中效果
2018/04/19 Python
Python中 Global和Nonlocal的用法详解
2020/01/20 Python
瑞典最大的儿童用品网上商店:pinkorblue.se
2021/03/09 全球购物
工程师岗位职责
2013/11/08 职场文书
幼儿园大班新学期寄语
2014/01/18 职场文书
最新会计专业求职信范文
2014/01/28 职场文书
岗位标兵事迹材料
2014/05/17 职场文书
2015个人简历自我评价语
2015/03/11 职场文书
党员违纪检讨书
2015/05/05 职场文书
感谢信的技巧及范例
2019/05/15 职场文书
开发一个封装iframe的vue组件
2021/03/29 Vue.js
WINDOWS 64位 下安装配置mysql8.0.25最详细的教程
2022/03/22 MySQL