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库常用方法解析相关推荐

  1. python excel详解_python操作excel详解

    前提: python操作excel需要使用的模块有xlrd.xlwt.xlutils.对excel进行读.写.更新操作.操作excel时需要先导入这些模块,demo如下: excel-读操作知识点: ...

  2. python excel操作单元格_python 操作excel表格的方法

    说明:由于公司oa暂缺,人事妹子在做考勤的时候,需要通过几个excel表格去交叉比对员工是否有旷工或迟到,工作量大而且容易出错. 这时候it屌丝的机会来啦,花了一天时间给妹子撸了一个自动化脚本. 1. ...

  3. Excel文件导入导出操作

    > 注意!注意!!注意!!! 文末有惊喜彩蛋,请注意查收! 日常开发工作中对于文件的相关操作大家多少都会涉及:上传解析.数据导出等.此篇内容主要分享一下工作中常用的Excel文件的解析和导出工作 ...

  4. vb6将excel数据导入mysql_VB6操作EXCEL导入数据库

    VB6操作EXCEL导入数据库 Private Function FunImpExcel(ByVal strFilePath As String) As Integer 'Excel文件格式 '第一行 ...

  5. 一个Python爬虫案例,带你掌握xpath数据解析方法!

    文章目录 xpath基本概念 xpath解析原理 环境安装 如何实例化一个etree对象: xpath('xpath表达式') xpath爬取58二手房实例 爬取网址 完整代码 效果图 xpath图片 ...

  6. python二元函数求导_Python二元算术运算常用方法解析

    在本文中,我想谈谈二元算术运算.具体来说,我想解读减法的工作原理:a - b.我故意选择了减法,因为它是不可交换的.这可以强调出操作顺序的重要性,与加法操作相比,你可能会在实现时误将 a 和 b 翻转 ...

  7. python 操作jira

    参考资料: Welcome to Atlassian Python API's documentation! - Atlassian Python API 3.29.0 documentationht ...

  8. Python+Excel:批量重命名多个工作簿

    应用场景 使用Python变成实现批量重命名文件的前提是文件名是规则的,如1月.2月.3月等,或者含有相同关键词的.如下图所示: 代码实现及注释 from pathlib import Path fo ...

  9. Python+Excel:将一个工作簿拆分为多个工作簿

    应用场景 一个工作簿是由多个工作表组成的,如果手工拆分工作簿是比较花时间的,如果数量多的话,真的是非常烦躁的工作.现在,我们使用Python编程就可以快速拆分工作簿了. 代码实现及注释 import ...

最新文章

  1. linux运shell 出现commond vim_有了这个神器,再也不怕shell写得不对了
  2. 使用wireshark抓取wcf生成的soap消息
  3. 再次记录 Visual Studio 2015 CTP 5 的一个坑
  4. 获取请求的url java_Java获取此次请求URL以及服务器根路径的方法
  5. js实现html模板继承,理解JavaScript中的原型和继承
  6. 推荐系统——协同过滤
  7. java post返回xml数据类型_Java 通过HttpURLConnection Post方式提交xml,并从服务端返回数据...
  8. 虚拟化网络与云网关打通的解决方案
  9. 设计模式笔记之 - Composite
  10. 用php循环星期一到星期日,php – 获取最后一个星期一 – 星期日的日期:有更好的方法吗?...
  11. 卫星轨道的估计问题(Matlab)(三):标准重采样粒子滤波(SIR)对新问题的尝试
  12. oracle数据库怎么保存表,oracle从各个表取得数据保存到另一个表
  13. Error creating object Microsoft Data Access Components 2.1 (or later) have been properly installed
  14. python基础——使用list和tuple
  15. VC++ 的 CImageList 绘制背景透明的位图
  16. uniapp 查看图片点击放大预览图片 单张 多张
  17. 主打产品“火力不足”致使发行人持续盈利能力下降,这公司创业板IPO被终止
  18. 如何在Mac上解决蓝牙问题
  19. centos Iptables学习笔记
  20. “千亿市值”巨无霸的膨胀 腾讯靠什么撬动下一个1000亿美金?

热门文章

  1. 从app加载页面说开去
  2. 作为一个职场中人的一些思考,关于做事的方式和思路
  3. python的requests快速上手、高级用法和身份认证
  4. Spring与SpringMVC的区别
  5. NSString常用方法
  6. Android中用URL模拟一个简单的图片加载器
  7. 你不懂,仅仅有程序猿懂
  8. db2 常用命令(一)
  9. ASP.Net缓存总结
  10. SQL Server 2005:面向信息管理的全新平台