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 相关文章推荐
web.py在模板中输出美元符号的方法
Aug 26 Python
跟老齐学Python之玩转字符串(3)
Sep 14 Python
Python编程中的文件读写及相关的文件对象方法讲解
Jan 19 Python
MAC中PyCharm设置python3解释器
Dec 15 Python
python 正确保留多位小数的实例
Jul 16 Python
解决python 未发现数据源名称并且未指定默认驱动程序的问题
Dec 07 Python
set在python里的含义和用法
Jun 24 Python
python中matplotlib条件背景颜色的实现
Sep 02 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
Mar 12 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
Jan 27 Python
python之openpyxl模块的安装和基本用法(excel管理)
Feb 03 Python
解决Pytorch中关于model.eval的问题
May 22 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实现插入排序?
2013/04/10 PHP
php+jQuery.uploadify实现文件上传教程
2014/12/26 PHP
js操纵dom生成下拉列表框的方法
2014/02/24 Javascript
使用text方法获取Html元素文本信息示例
2014/09/01 Javascript
angularjs学习笔记之三大模块(modal,controller,view)
2015/09/26 Javascript
老生常谈JavaScript数组的用法
2016/06/10 Javascript
购物车前端开发(jQuery和bootstrap3)
2016/08/27 Javascript
AngularJS封装指令方法详解
2016/12/12 Javascript
javascript基本常用排序算法解析
2017/09/27 Javascript
seaJs使用心得之exports与module.exports的区别实例分析
2017/10/13 Javascript
vue组件创建的三种方式小结
2020/02/03 Javascript
Node.js API详解之 readline模块用法详解
2020/05/22 Javascript
[50:28]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs KG
2018/04/01 DOTA
[33:17]OG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[36:43]NB vs Optic 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
python私有属性和方法实例分析
2015/01/15 Python
python3新特性函数注释Function Annotations用法分析
2016/07/28 Python
解决python3在anaconda下安装caffe失败的问题
2017/06/15 Python
python pandas中对Series数据进行轴向连接的实例
2018/06/08 Python
python-tkinter之按钮的使用,开关方法
2019/06/11 Python
python如何读取bin文件并下发串口
2019/07/05 Python
python实现飞船游戏的纵向移动
2020/04/24 Python
Python3+Appium安装及Appium模拟微信登录方法详解
2021/02/16 Python
Otel.com:折扣酒店预订
2017/08/24 全球购物
加拿大奢华时装品牌:Mackage
2018/01/10 全球购物
运动会解说词50字
2014/01/18 职场文书
党员一句话承诺大全
2014/03/28 职场文书
邻里守望志愿服务活动方案
2014/08/15 职场文书
公司周年庆典标语
2014/10/07 职场文书
夫妻房产协议书的格式
2014/10/11 职场文书
研究生导师推荐信
2015/03/25 职场文书
哈姆雷特读书笔记
2015/06/29 职场文书
合同补充协议书
2016/03/24 职场文书
Nginx实现高可用集群构建(Keepalived+Haproxy+Nginx)
2021/05/27 Servers
分享提高 Python 代码的可读性的技巧
2022/03/03 Python