Python操作Jira:从安装到常用API实战指南
本文详细介绍如何利用Python的Jira库高效操作Jira系统。内容涵盖库的安装、四种认证方式的选择(重点演示HTTP BASIC)、单个及批量Issue的创建方法,以及项目查询、Issue详情获取和JQL语句搜索等常用API实战技巧,旨在帮助开发者实现自动化测试中Bug的自动记录与管理。
Jira简介
Jira是一款功能强大的项目管理工具,广泛应用于缺陷跟踪、用例管理、需求收集、任务跟踪、工时管理及项目计划等领域。由于使用该公司的产品众多,本文主要探讨在自动化测试执行过程中,如何将失败的测试用例自动转化为Jira系统中的Bug记录。
Jira提供了完善的RESTful API接口。如果开发者不希望直接发送HTTP请求调用API,可以使用Python封装好的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的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









