调用Jira API 获取Project的Board参数和Sprint参数

2024-09-03 20:32

本文主要是介绍调用Jira API 获取Project的Board参数和Sprint参数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

每个jira项目都有sprint参数和board参数,关系为一对多的关系。

  • project 和 board > 1对n
  • board 和 sprint > 1对n


如果想要查询一个项目具有哪些正在进行的sprint,还需要费一番功夫。

因为目前jira -api的python库里并没有给出方法,不过我们可以通过下面的方法获得:

通过get请求,根据项目的key或者ID获得board信息,地址和参数如下

url+"/rest/agile/1.0/board?projectKeyOrId=" + projectKeyOrId

通过get请求,根据board的ID查询到sprint的信息,根据state进行筛选

url+"/rest/agile/1.0/board/" + str(item['id']) + "/sprint?state=future,active"

nodejs代码

// With ES5
var JiraApi = require('jira-client');
var jira = '';describe('JIRA API', async() => {beforeEach('Initialize', async() => {// Initializejira = new JiraApi({protocol: 'https',host: 'jira.xxxx.com', // jira域名username: 'liyc',password: '',apiVersion: '2',strictSSL: true});});/*** ES6* @description 获取指定issue状态(中文状态:已解决、已解决未部署、已关闭等)* @param issueNumber Jira Number(IssueID)*/it.skip('findIssue issue.fields.status.name', async() => {try {var issueNumber = 'S5A-1116';var issue = await jira.findIssue(issueNumber);await console.log(`Status: ${issue.fields.status.name}`);} catch (error) {await console.error(error);}});/*** ES6* @description 获取指定issue状态信息* @param issueNumber Jira Number(IssueID)*/it.skip('findIssue issue.fields.status', async () => {try {var issueNumber = 'S5A-1116';var issue = await jira.findIssue(issueNumber);await console.log(`Status: ${JSON.stringify(issue.fields.status)}`);} catch (error) {await console.error(error);}});/*** ES6* @description 获取指定issue所有相关字段* @param issueNumber Jira Number(IssueID)*/it.skip('findIssue issue.fields', async () => {try {var issueNumber = 'S5A-1116';var issue = await jira.findIssue(issueNumber);await console.log(`fields: ${JSON.stringify(issue.fields)}`);} catch (error) {await console.error(error);}});/*** ES6* @description 获取jira api版本* @param */it.skip('apiVersion', async () => {await console.log(`apiVersion: ${jira.apiVersion}`);});});

python代码

# -- coding: UTF-8 --
import requests
from jira import JIRA
url = 'https://jira.atlassian.com'
jira = JIRA(server=url, basic_auth=('username', 'password'))
cookies = jira._session.cookies
projectKeyOrId = "project_key"
board_url = url+"/rest/agile/1.0/board?projectKeyOrId=" + projectKeyOrId
response = requests.get(url, cookies=cookies,headers={"Accept": "application/json"})
# print(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")))
qq = response.json()
sprint_result_list = []
for item in qq['values']:sprint_url = url+"/rest/agile/1.0/board/" + str(item['id']) + "/sprint?state=future,active"response = requests.get(url, cookies=cookies,headers={"Accept": "application/json"})sprint_json = response.json()if 'values' in sprint_json:sprint_list = sprint_json['values']for sprint in sprint_list:element = {'sprint_id': sprint['id'], 'sprint_name': sprint['name']}if element not in sprint_result_list:sprint_result_list.append(element)
print(sprint_result_list)

这篇关于调用Jira API 获取Project的Board参数和Sprint参数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1133966

相关文章

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi

Python获取浏览器Cookies的四种方式小结

《Python获取浏览器Cookies的四种方式小结》在进行Web应用程序测试和开发时,获取浏览器Cookies是一项重要任务,本文我们介绍四种用Python获取浏览器Cookies的方式,具有一定的... 目录什么是 Cookie?1.使用Selenium库获取浏览器Cookies2.使用浏览器开发者工具

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示