You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询Bitbucket Server获取拉取请求Diff Stat的REST API方案

获取Bitbucket Server拉取请求的Diff统计信息

官方REST API方案

Bitbucket Server提供了两个直接对应需求的REST API端点,替代你在Bitbucket Cloud中使用的diff接口:

1. 直接获取汇总统计数据

使用stats端点可以直接返回拉取请求的新增行数、删除行数等核心统计,无需解析完整diff内容:

GET /rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/pull-requests/{pullRequestId}/stats

响应示例(JSON结构):

{
  "addedLines": 125,
  "removedLines": 42,
  "changedFiles": 18,
  "commits": 5
}

2. 获取完整Diff并提取统计

如果需要同时获取diff内容和统计信息,可使用diff端点:

GET /rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/pull-requests/{pullRequestId}/diff

返回的响应头部会包含X-Diff-Added和X-Diff-Removed字段,也可以从返回的diff文本末尾的统计行中提取行数数据。

替代方案:Git命令行方式

若无法通过API访问,可通过Git命令直接计算分支间的diff统计:

  1. 拉取仓库并切换到拉取请求的目标分支(如main)
  2. 拉取PR的源分支(如feature/new-function)
  3. 执行统计命令:
git diff --shortstat main..feature/new-function

输出示例:

18 files changed, 125 insertions(+), 42 deletions(-)

该方式需要确保拥有仓库访问权限,适合在服务器端脚本中执行。

版本兼容性说明

上述API端点适用于Bitbucket Server 5.0及以上版本,不同小版本可能存在细微字段差异,建议结合对应版本的官方文档确认细节。

内容的提问来源于stack exchange,提问作者Yusuf Musa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 12:43:12