python excel案例导入jira_Python操作Jira库常用方法解析
Jira提供了完善的RESTful API,如果不想直接请求API接口可以使用Python的Jira库来操作Jira
安装方法
pip install jira
认证
Jira的访问是有权限的,在访问Jira项目时首先要进行认证,Jira Python库提供了3种认证方式:
通过Cookis方式认证(用户名,密码)
通过Basic Auth方式认证(用户名,密码)
通过OAuth方式认证
认证方式只需要选择一种即可,以下代码为使用Cookies方式认证。
form jira import JIRA
jira = JIRA('http://jira.***.com/', auth=('用户名', '登录密码')
返回的jira对象便可以对Jira进行操作。主要的操作包括:
项目
问题
搜索
关注者
评论
附件
项目(Project)
jira.projects(): 查看所有项目列表
jira.project("项目的Key"): 查看单个项目
项目对象的主要属性及方法如下:
key: 项目的Key
name: 项目名称
description: 项目描述
lead: 项目负责人
projectCategory: 项目分类
components: 项目组件
versions: 项目中的版本
raw: 项目的原始API数据
示例
print(jira.projects()) # 打印所有你有权限访问的项目列表
project = jira.project('某个项目的Key')
print(project.key, project.name, project.lead)
问题(Issue)
Issue是Jira的核心,Jira中的任务,用户Story,Bug实质上都是一个Issue。
单个问题对象可以通过jira.issue("问题的Key")得到,问题的主要属性和方法如下:
id: 问题的id
key: 问题的Key
permalink(): 获取问题连接
fields: 问题的描述,创建时间等所有的配置域
raw: 问题的原始API数据
配置域(Fields)
一般问题的ields中的属性分为固定属性和自定义属性,自定义属性格式一般为类似customfield_10012这种。常用的问题的Fields有:
assignee:经办人
created: 创建时间
creator: 创建人
labels: 标签
priorit: 优先级
progress:
project: 所示项目
reporter: 报告人
status: 状态
summary: 问题描述
worklog: 活动日志
updated: 更新时间
watches: 关注者
comments: 评论
resolution: 解决方案
subtasks: 子任务
issuelinks: 连接问题
lastViewed: 最近查看时间
attachment
示例如下:
issue = jira.issue('JRA-1330')
print(issue.key, issue.fields.summary, issue.fields.status)
关注者/评论/附件
jira.watchers(): 问题的关注者
jira.add_watcher(): 添加关注者
jira.remove_watcher(): 移除关注者
jira.comments(): 问题的所有评论
jira.comment(): 某条评论
jira.add_comment():添加评论
comment.update()/delete(): 更新/删除评论
jira.add_attachment(): 添加附件
示例如下:
issue = jira.issue('JRA-1330')
print(jiaa.watchers(issue)) # 所有关注者
jira.add_watcher(issue, 'username') # 添加关注者
print(jira.comments(issue)) # 所有评论
comment = jira.comment(issue, '10234') # 某条评论
jira.add_comment(issue, 'new comment') # 新增评论
comment.update(body='update comment') # 更新评论
comment.delete() # 删除该评论
print(issue.fields.attachment) # 问题附件
jira.add_attachment(issue=issue, attachment='/some/path/attachment.txt') # 添加附件
创建/分配/转换问题
jira.create_issue(): 创建问题
jira.create_issues(): 批量创建问题
jira.assign_issue(): 分配问题
jira.transitions(): 获取问题的工作流
jira.transition_issue(): 转换问题
示例如下:
# 创建问题
issue_dict = {
'project': {'id': 123},
'summary': 'New issue from jira-python',
'description': 'Look into this one',
'issuetype': {'name': 'Bug'},
}
new_issue = jira.create_issue(fields=issue_dict)
# 批量创建问题
issue_list = [
{
'project': {'id': 123},
'summary': 'First issue of many',
'description': 'Look into this one',
'issuetype': {'name': 'Bug'},
},
{
'project': {'key': 'FOO'},
'summary': 'Second issue',
'description': 'Another one',
'issuetype': {'name': 'Bug'},
},
{
'project': {'name': 'Bar'},
'summary': 'Last issue',
'description': 'Final issue of batch.',
'issuetype': {'name': 'Bug'},
}]
issues = jira.create_issues(field_list=issue_list)
# 分配问题
jira.assign_issue(issue, 'newassignee')
# 转换问题
jira.transition_issue(issue, '5', assignee={'name': 'pm_user'}, resolution={'id': '3'})
搜索
Jira的搜索非常强大,并配有一套专门的搜索语言,称为JQL(Jira Query Language),Jira的Python库便是基于JQL语法进行搜索的,返回的是搜索到的问题列表。
使用语句为
jira.search_issues('JQL语句')
默认最大结果数未1000,可以通过maxResults参数配置,该参数为-1时不限制数量,返回所有搜索结果。
jira.search_issues('project=PROJ and assignee = currentUser()', maxResults=-1)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
python excel案例导入jira_Python操作Jira库常用方法解析相关推荐
- python excel详解_python操作excel详解
前提: python操作excel需要使用的模块有xlrd.xlwt.xlutils.对excel进行读.写.更新操作.操作excel时需要先导入这些模块,demo如下: excel-读操作知识点: ...
- python excel操作单元格_python 操作excel表格的方法
说明:由于公司oa暂缺,人事妹子在做考勤的时候,需要通过几个excel表格去交叉比对员工是否有旷工或迟到,工作量大而且容易出错. 这时候it屌丝的机会来啦,花了一天时间给妹子撸了一个自动化脚本. 1. ...
- Excel文件导入导出操作
> 注意!注意!!注意!!! 文末有惊喜彩蛋,请注意查收! 日常开发工作中对于文件的相关操作大家多少都会涉及:上传解析.数据导出等.此篇内容主要分享一下工作中常用的Excel文件的解析和导出工作 ...
- vb6将excel数据导入mysql_VB6操作EXCEL导入数据库
VB6操作EXCEL导入数据库 Private Function FunImpExcel(ByVal strFilePath As String) As Integer 'Excel文件格式 '第一行 ...
- 一个Python爬虫案例,带你掌握xpath数据解析方法!
文章目录 xpath基本概念 xpath解析原理 环境安装 如何实例化一个etree对象: xpath('xpath表达式') xpath爬取58二手房实例 爬取网址 完整代码 效果图 xpath图片 ...
- python二元函数求导_Python二元算术运算常用方法解析
在本文中,我想谈谈二元算术运算.具体来说,我想解读减法的工作原理:a - b.我故意选择了减法,因为它是不可交换的.这可以强调出操作顺序的重要性,与加法操作相比,你可能会在实现时误将 a 和 b 翻转 ...
- python 操作jira
参考资料: Welcome to Atlassian Python API's documentation! - Atlassian Python API 3.29.0 documentationht ...
- Python+Excel:批量重命名多个工作簿
应用场景 使用Python变成实现批量重命名文件的前提是文件名是规则的,如1月.2月.3月等,或者含有相同关键词的.如下图所示: 代码实现及注释 from pathlib import Path fo ...
- Python+Excel:将一个工作簿拆分为多个工作簿
应用场景 一个工作簿是由多个工作表组成的,如果手工拆分工作簿是比较花时间的,如果数量多的话,真的是非常烦躁的工作.现在,我们使用Python编程就可以快速拆分工作簿了. 代码实现及注释 import ...
最新文章
- linux运shell 出现commond vim_有了这个神器,再也不怕shell写得不对了
- 使用wireshark抓取wcf生成的soap消息
- 再次记录 Visual Studio 2015 CTP 5 的一个坑
- 获取请求的url java_Java获取此次请求URL以及服务器根路径的方法
- js实现html模板继承,理解JavaScript中的原型和继承
- 推荐系统——协同过滤
- java post返回xml数据类型_Java 通过HttpURLConnection Post方式提交xml,并从服务端返回数据...
- 虚拟化网络与云网关打通的解决方案
- 设计模式笔记之 - Composite
- 用php循环星期一到星期日,php – 获取最后一个星期一 – 星期日的日期:有更好的方法吗?...
- 卫星轨道的估计问题(Matlab)(三):标准重采样粒子滤波(SIR)对新问题的尝试
- oracle数据库怎么保存表,oracle从各个表取得数据保存到另一个表
- Error creating object Microsoft Data Access Components 2.1 (or later) have been properly installed
- python基础——使用list和tuple
- VC++ 的 CImageList 绘制背景透明的位图
- uniapp 查看图片点击放大预览图片 单张 多张
- 主打产品“火力不足”致使发行人持续盈利能力下降,这公司创业板IPO被终止
- 如何在Mac上解决蓝牙问题
- centos Iptables学习笔记
- “千亿市值”巨无霸的膨胀 腾讯靠什么撬动下一个1000亿美金?