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 相关文章推荐
用ReactJS和Python的Flask框架编写留言板的代码示例
Dec 19 Python
Python操作Access数据库基本步骤分析
Sep 19 Python
python版opencv摄像头人脸实时检测方法
Aug 03 Python
详解安装mitmproxy以及遇到的坑和简单用法
Jan 21 Python
Python PO设计模式的具体使用
Aug 16 Python
Python数据可视化:饼状图的实例讲解
Dec 07 Python
Python通过VGG16模型实现图像风格转换操作详解
Jan 16 Python
你可能不知道的Python 技巧小结
Jan 29 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
Apr 08 Python
爬虫代理的cookie如何生成运行
Sep 22 Python
Python获取指定日期是"星期几"的6种方法
Mar 13 Python
python神经网络学习 使用Keras进行简单分类
May 04 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
怎么样可以把 phpinfo()屏蔽掉?
2006/11/24 PHP
第七章 php自定义函数实现代码
2011/12/30 PHP
linux实现php定时执行cron任务详解
2013/12/24 PHP
PHP定时执行任务实现方法详解(Timer)
2015/07/30 PHP
使用php完成常见的文件上传功能(推荐)
2017/01/13 PHP
jquery ui dialog ie8出现滚动条的解决方法
2010/12/06 Javascript
jQuery.each()用法分享
2012/07/31 Javascript
js触发asp.net的Button的Onclick事件应用
2013/02/02 Javascript
javascript中this做事件参数相关问题解答
2013/03/17 Javascript
javascript结合CSS实现苹果开关按钮特效
2015/04/07 Javascript
js实现滑动触屏事件监听的方法
2015/05/05 Javascript
js控制div弹出层实现方法
2015/05/11 Javascript
即将发布的jQuery 3 有哪些新特性
2016/04/14 Javascript
Bootstrap fileinput组件封装及使用详解
2017/03/10 Javascript
如何理解jQuery中的ajaxSubmit方法
2017/03/13 Javascript
Node.js使用Express创建Web项目详细教程
2017/03/31 Javascript
详解angularJS自定义指令间的相互交互
2017/07/05 Javascript
vue项目中使用ueditor的实例讲解
2018/03/05 Javascript
node app 打包工具pkg的具体使用
2019/01/17 Javascript
VUE脚手架的下载和配置步骤详解
2019/04/01 Javascript
ES6知识点整理之对象解构赋值应用示例
2019/04/17 Javascript
vue-cli3配置favicon.ico和title的流程
2020/10/27 Javascript
八大排序算法的Python实现
2021/01/28 Python
Python输出\u编码将其转换成中文的实例
2018/12/15 Python
Python类的继承用法示例
2019/01/31 Python
自定义Django Form中choicefield下拉菜单选取数据库内容实例
2020/03/13 Python
pandas DataFrame 数据选取,修改,切片的实现
2020/04/24 Python
python将logging模块封装成单独模块并实现动态切换Level方式
2020/05/12 Python
如何利用pycharm进行代码更新比较
2020/11/04 Python
HTML5录音实践总结(Preact)
2020/05/07 HTML / CSS
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
银行实习鉴定
2013/12/13 职场文书
六一儿童节活动策划方案
2014/01/27 职场文书
卫生巾广告词
2014/03/18 职场文书
成本会计实训报告
2014/11/05 职场文书
SpringBoot读取Resource下文件的4种方法
2021/07/02 Java/Android