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暴力破解zip文件口令的方法详解
Dec 21 Python
pandas数据处理基础之筛选指定行或者指定列的数据
May 03 Python
Django项目中用JS实现加载子页面并传值的方法
May 28 Python
Python读取excel指定列生成指定sql脚本的方法
Nov 28 Python
python里运用私有属性和方法总结
Jul 08 Python
python 两个数据库postgresql对比
Oct 21 Python
Python+OpenCV实现实时眼动追踪的示例代码
Nov 11 Python
Python编写memcached启动脚本代码实例
Aug 14 Python
怎么解决pycharm license Acti的方法
Oct 28 Python
Python数据模型与Python对象模型的相关总结
Jan 26 Python
聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
Mar 03 Python
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
Jun 07 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实现Ftp用户的在线管理的代码
2007/03/06 PHP
PHP 防注入函数(格式化数据)
2011/08/08 PHP
php中jpgraph类库的使用介绍
2013/08/08 PHP
详谈PHP程序Laravel 5框架的优化技巧
2016/07/18 PHP
PHP入门教程之会话控制技巧(cookie与session)
2016/09/11 PHP
详解PHP中array_rand函数的使用方法
2016/09/11 PHP
php生出随机字符串
2017/07/06 PHP
原生js实现查找/添加/删除/指定元素的class
2013/04/12 Javascript
Javascript无阻塞加载具体方式
2013/06/28 Javascript
12种不宜使用的Javascript语法整理
2013/11/04 Javascript
JS实现超简洁网页title标题跑动闪烁提示效果代码
2015/10/23 Javascript
用vue和node写的简易购物车实现
2017/04/25 Javascript
前端图片懒加载(lazyload)的实现方法(提高用户体验)
2017/08/21 Javascript
Angular2开发环境搭建教程之VS Code
2017/12/15 Javascript
vue.js系列中的vue-fontawesome使用
2018/02/10 Javascript
JavaScript对象拷贝与Object.assign用法实例分析
2018/06/20 Javascript
Nodejs调用Dll模块的方法
2018/09/17 NodeJs
《javascript设计模式》学习笔记三:Javascript面向对象程序设计单例模式原理与实现方法分析
2020/04/07 Javascript
解决iView Table组件宽度只变大不变小的问题
2020/11/13 Javascript
[01:28:56]2014 DOTA2华西杯精英邀请赛 5 24 CIS VS DK
2014/05/26 DOTA
在Python中实现贪婪排名算法的教程
2015/04/17 Python
python基于pdfminer库提取pdf文字代码实例
2019/08/15 Python
Python StringIO如何在内存中读写str
2020/01/07 Python
Python关于拓扑排序知识点讲解
2021/01/04 Python
Python入门基础之数字字符串与列表
2021/02/01 Python
HTML5对手机页面长按会粘贴复制禁用的解决方法
2016/07/19 HTML / CSS
html5 input元素新特性_动力节点Java学院整理
2017/07/06 HTML / CSS
配置H5的滚动条样式的示例代码
2018/03/09 HTML / CSS
澳大利亚婴儿喂养品牌:Cherub Baby
2018/11/01 全球购物
含精油的天然有机化妆品:Indemne
2019/08/27 全球购物
飞利浦美国官网:Philips美国
2020/02/28 全球购物
SQL数据库笔试题
2016/03/08 面试题
汉语言文学专业求职信
2014/06/19 职场文书
学校元旦晚会开场白
2014/12/14 职场文书
面试感谢信范文
2015/01/22 职场文书
2016年推广普通话宣传周活动总结
2016/04/06 职场文书