调用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

相关文章

C# foreach 循环中获取索引的实现方式

《C#foreach循环中获取索引的实现方式》:本文主要介绍C#foreach循环中获取索引的实现方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、手动维护索引变量二、LINQ Select + 元组解构三、扩展方法封装索引四、使用 for 循环替代

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

SpringMVC获取请求参数的方法

《SpringMVC获取请求参数的方法》:本文主要介绍SpringMVC获取请求参数的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

Python获取C++中返回的char*字段的两种思路

《Python获取C++中返回的char*字段的两种思路》有时候需要获取C++函数中返回来的不定长的char*字符串,本文小编为大家找到了两种解决问题的思路,感兴趣的小伙伴可以跟随小编一起学习一下... 有时候需要获取C++函数中返回来的不定长的char*字符串,目前我找到两种解决问题的思路,具体实现如下:

SpringBoot利用@Validated注解优雅实现参数校验

《SpringBoot利用@Validated注解优雅实现参数校验》在开发Web应用时,用户输入的合法性校验是保障系统稳定性的基础,​SpringBoot的@Validated注解提供了一种更优雅的解... 目录​一、为什么需要参数校验二、Validated 的核心用法​1. 基础校验2. php分组校验3

golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法

《golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法》:本文主要介绍golang获取当前时间、时间戳和时间字符串及它们之间的相互转换,本文通过实例代码给大家介绍的非常详细,感兴趣... 目录1、获取当前时间2、获取当前时间戳3、获取当前时间的字符串格式4、它们之间的相互转化上篇文章给大家介