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操作xml文件详细介绍
Jun 09 Python
django模型中的字段和model名显示为中文小技巧分享
Nov 18 Python
实例解析Python设计模式编程之桥接模式的运用
Mar 02 Python
Python 转义字符详细介绍
Mar 21 Python
Python中的id()函数指的什么
Oct 17 Python
深入理解Python中的super()方法
Nov 20 Python
python hbase读取数据发送kafka的方法
Dec 27 Python
Python-Seaborn热图绘制的实现方法
Jul 15 Python
pandas实现将日期转换成timestamp
Dec 07 Python
Windows系统下pycharm中的pip换源
Feb 23 Python
python不到50行代码完成了多张excel合并的实现示例
May 28 Python
在pycharm中关掉ipython console/PyDev操作
Jun 09 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实现的常见排序算法汇总
2014/09/08 PHP
PHP闭包定义与使用简单示例
2018/04/13 PHP
laravel 解决Validator使用中出现的问题
2019/10/25 PHP
js innerHTML 改变div内容的方法
2013/08/03 Javascript
javascript匿名函数应用示例介绍
2014/03/07 Javascript
javascript里使用php代码实例
2014/12/13 Javascript
Jquery技巧(必须掌握)
2016/03/16 Javascript
微信小程序加载更多 点击查看更多
2016/11/29 Javascript
用Vue-cli搭建的项目中引入css报错的原因分析
2017/07/20 Javascript
nodejs使用http模块发送get与post请求的方法示例
2018/01/08 NodeJs
动态加载、移除js/css文件的示例代码
2018/03/20 Javascript
vue使用技巧及vue项目中遇到的问题
2018/06/04 Javascript
浅析webpack-bundle-analyzer在vue-cli3中的使用
2019/10/23 Javascript
[58:15]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 NB vs Liquid
2018/04/02 DOTA
Python实现GUI学生信息管理系统
2020/04/05 Python
Python判断telnet通不通的实例
2019/01/26 Python
使用Python控制摄像头拍照并发邮件
2019/04/23 Python
python爬虫爬取监控教务系统的思路详解
2020/01/08 Python
pycharm 2019 最新激活方式(pycharm破解、激活)
2020/09/22 Python
用于ETL的Python数据转换工具详解
2020/07/21 Python
Python+Opencv实现把图片、视频互转的示例
2020/12/17 Python
Python3+Django get/post请求实现教程详解
2021/02/16 Python
兰芝美国网上商城:购买LANEIGE睡眠面膜等
2017/06/30 全球购物
ShellScript面试题一则-ShellScript编程
2014/06/24 面试题
简历的自荐信
2013/12/19 职场文书
房地产销售经理岗位职责
2014/01/01 职场文书
简历中自我评价怎么写
2014/02/12 职场文书
公司授权委托书样本
2014/09/15 职场文书
玩手机检讨书1000字
2014/10/20 职场文书
法人代表证明书范本
2015/06/18 职场文书
2016年寒假家长评语
2015/10/10 职场文书
护士业务学习心得体会
2016/01/25 职场文书
Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境
2021/03/29 PHP
教你使用vscode 搭建react-native开发环境
2021/07/07 Javascript
Tomcat弱口令复现及利用
2022/05/06 Servers
Redis特殊数据类型Geospatial地理空间
2022/06/01 Redis