如何调用Jira Restful API获取已完成Sprint的承诺与交付故事点数据
Jira 已完成Sprint故事点及速率数据获取方案
你需要调用Jira Software专属的Agile REST API实现需求,基础Jira Core接口不提供Scrum维度的聚合数据,具体实现逻辑如下:
前置要求
- 目标Jira实例已安装Jira Software组件(所有支持Scrum功能的Jira实例默认已安装)
- 认证账号持有对应Scrum项目的「浏览项目」「查看Sprint」权限
- 你正在使用的Basic Authentication认证方式完全兼容这些接口,无需额外调整认证逻辑
1. 查询单个已完成Sprint的承诺/交付故事点
调用接口:GET /rest/agile/1.0/sprint/{sprintId}
将路径参数sprintId替换为你要查询的Sprint ID即可,返回结果中直接包含以下核心字段:
estimatedPointsSum:Sprint启动时团队承诺的总故事点completedPointsSum:Sprint结束时实际交付的已完成总故事点status:可用于校验Sprint是否为已完成状态originBoardId:Sprint所属的看板ID,用于后续查询速率数据
注意:如果你的团队使用自定义字段存储故事点,需要先拿到自定义字段的ID,请求时添加
fields参数指定返回该自定义字段,再自行聚合计算对应数值即可。
2. 查询速率图表全量历史数据
如果需要拉取多个Sprint的速率数据做聚合分析,调用接口:GET /rest/agile/1.0/board/{boardId}/rapidviewreport
将路径参数boardId替换为上一步拿到的originBoardId,也可以通过请求参数指定要查询的Sprint范围,返回结果和Jira前端速率图表展示的数据完全一致,包含每个已完成Sprint的承诺故事点、交付故事点、速率计算值。
Java调用代码示例
import java.net.HttpURLConnection; import java.net.URL; import java.util.Base64; // 原生Http调用示例片段 public class JiraApiTest { public static void main(String[] args) throws Exception { // 替换为自己的配置 String jiraBaseUrl = "https://你的Jira域名"; String sprintId = "1234"; String username = "你的Jira账号"; String password = "你的Jira密码"; // 生成Basic Auth头 String authStr = username + ":" + password; String encodedAuth = Base64.getEncoder().encodeToString(authStr.getBytes()); // 构建请求 URL url = new URL(jiraBaseUrl + "/rest/agile/1.0/sprint/" + sprintId); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setRequestProperty("Authorization", "Basic " + encodedAuth); conn.setRequestProperty("Accept", "application/json"); // 读取响应流解析JSON即可拿到对应字段 int responseCode = conn.getResponseCode(); System.out.println("响应状态码:" + responseCode); } }
内容的提问来源于stack exchange,提问作者Rajmahendra
相关产品推荐
相关产品推荐

