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中for语句简单遍历数据的方法
May 07 Python
python 查找字符串是否存在实例详解
Jan 20 Python
python opencv读mp4视频的实例
Dec 07 Python
Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析
Apr 12 Python
Python 实现交换矩阵的行示例
Jun 26 Python
pandas 如何分割字符的实现方法
Jul 29 Python
python中的RSA加密与解密实例解析
Nov 18 Python
TensorFlow基本的常量、变量和运算操作详解
Feb 03 Python
Python实现Wordcloud生成词云图的示例
Mar 30 Python
opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
Jun 02 Python
Python实现手绘图效果实例分享
Jul 22 Python
Python绘制分类图的方法
Apr 20 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
优化NFR之一 --MSSQL Hello Buffer Overflow
2006/10/09 PHP
ThinkPHP控制器里javascript代码不能执行的解决方法
2014/11/22 PHP
PHP7常量数组用法分析
2016/09/26 PHP
Django 标签筛选的实现代码(一对多、多对多)
2018/09/05 PHP
javascript获得CheckBoxList选中的数量
2009/10/27 Javascript
js 刷新页面的代码小结 推荐
2010/04/02 Javascript
Javascript面向对象之四 继承
2011/02/08 Javascript
JavaScript中的值是按值传递还是按引用传递问题探讨
2015/01/30 Javascript
js实现点击按钮后给Div图层设置随机背景颜色的方法
2015/05/06 Javascript
JS去除重复并统计数量的实现方法
2016/12/15 Javascript
JavaScript中日常收集常见的10种错误(推荐)
2017/01/08 Javascript
Jquery根据浏览器窗口改变调整大小的方法
2017/02/07 Javascript
js实现文字跑马灯效果
2017/02/23 Javascript
vue2.0多条件搜索组件使用详解
2020/03/26 Javascript
浅谈React Native 中组件的生命周期
2017/09/08 Javascript
vue router 用户登陆功能的实例代码
2019/04/24 Javascript
详解如何使用React Hooks请求数据并渲染
2020/10/18 Javascript
[28:28]Ti4 冒泡赛第二天NEWBEE vs NaVi 2
2014/07/15 DOTA
[01:31]完美与DOTA2历程
2014/07/31 DOTA
Python抓取框架 Scrapy的架构
2016/08/12 Python
python rsa 加密解密
2017/03/20 Python
解决python 无法加载downsample模型的问题
2018/10/25 Python
详解Python_shutil模块
2019/03/15 Python
Python中list循环遍历删除数据的正确方法
2019/09/02 Python
python OpenCV GrabCut使用实例解析
2019/11/11 Python
使用python实现对元素的长截图功能
2019/11/14 Python
python性能测试工具locust的使用
2020/12/28 Python
Madewell澳大利亚官方网站:美国休闲服饰品牌
2019/07/18 全球购物
Farfetch阿联酋:奢侈品牌时尚购物平台
2019/07/26 全球购物
Speedo速比涛德国官方网站:世界领先的泳装品牌
2019/08/26 全球购物
食堂个人先进事迹
2014/01/22 职场文书
老总助理工作岗位职责
2014/02/06 职场文书
对学校的意见和建议
2015/06/04 职场文书
防溺水安全教育主题班会
2015/08/12 职场文书
详解Go语言Slice作为函数参数的使用
2021/07/02 Golang
Vue router配置与使用分析讲解
2022/12/24 Vue.js