1 JIRA API 简介
JIRA 在不同的企业 行业 应用的方法都是不一样的,有的需求通过JIRA配置就可以实现,有的需求无法通过配置来实现,或者基于提效的目的,就需要基于 JIRA API 进行二次开发。比如:批量导入团队成员, 批量配置项目空间,两个不同问题类型状态的关联转换等等。
JIRA官网的指导手册是基于 Java的,只有英文版的。由于我没有java基础,所以我是用的python来实现的二次开发。python的jira库,功能是完整的,官网上有接口,库里都有。
python 版:https://jira.readthedocs.io/index.html
JIRA官网:https://docs.atlassian.com/software/jira/docs/api/REST/7.12.0/ (版本号,根据自己实际使用的jira版本来找对应的api文档。
API使用方法,最全面的文档还是库文件,python 安装好相应的库文件后(pip install jira),可以直接打开库文件找到对应函数的使用方法。
2 JIRA API 连接认证
我们使用的JIRA就两种安装方式,本地化部署,和 JIRA cloud。 这两种方式,在 认证模式上是不一样的。
如果想要实现调用JIRA API ,第一是 实现 程序和JIRA之间的认证
认证实现有好几种方式,安全等级不一样。
1) Cookie Based Authentication
auth_jira=JIRA(auth=('username','password'))
2) HTTP BASIC
auth_jira=JIRA(basic_auth=('username','password')) example:jira = JIRA(server="http://jiraserver",basic_auth=('username','password')) auth_jira=JIRA(basic_auth=('email','API token'))
3) OAuth
java 实现 jira oauth 案例 https://developer.atlassian.com/server/jira/platform/jira-rest-api-example-oauth-authentication-6291692/
python 实现 jira oauth的案例 https://zhuanlan.zhihu.com/p/42712772
3 实践案例
如下案例用来实现功能:当子任务状态变更的时候,父任务根据下属子任务的状态情况自动进行状态转换。
作者:小麒麟