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

如何通过Azure DevOps REST API获取Pull Request文件差异详情

Azure DevOps PR 文件行级差异获取方案

核心推荐:Pull Request Diff API

这个API直接返回类似GitHub原始DIFF的纯文本内容,包含完整的文件变更细节、行级增删标记(+新增、-删除、空格为上下文行),完全满足你获取原始DIFF的需求。

请求示例(curl)

curl -u "你的用户名:个人访问令牌(PAT)" \
"https://dev.azure.com/{组织名}/{项目名}/_apis/git/repositories/{仓库ID}/pullRequests/{PR编号}/diff?api-version=7.1-preview.1"

返回内容示例(片段)

diff --git a/src/Utils.cs b/src/Utils.cs
index 8a3f2d..d9c7b1 100644
--- a/src/Utils.cs
+++ b/src/Utils.cs
@@ -15,7 +15,9 @@ public static class StringHelper
         {
             if (string.IsNullOrEmpty(input))
             {
-                return string.Empty;
+                // 新增:处理null的友好提示
+                Console.WriteLine("Input is null or empty");
+                return string.Empty;
             }
             return input.Trim().ToUpper();
         }
@@ -30,6 +32,3 @@ public static class StringHelper
         {
             return DateTime.Now.ToString("yyyy-MM-dd");
         }
-
-        // 删除:废弃的日期格式化方法
-        public static string OldDateFormat() => DateTime.Now.ToString("MM/dd/yyyy");

关键标记说明:

  • --- 对应目标分支的原始文件内容
  • +++ 对应源分支的修改后文件内容
  • @@ ... @@ 标注变更的行范围(格式:@@ -原始起始行,原始行数 +修改后起始行,修改后行数 @@)
  • 行首+表示新增行,-表示删除行,空格为无变更的上下文参考行

结构化行级变更接口(可选)

如果需要机器可直接解析的结构化行数据(而非纯文本DIFF),可以先通过Pull Request Changes API获取变更文件列表及对应changeId,再针对每个文件请求详情:

1. 获取变更文件列表

curl -u "你的用户名:PAT" \
"https://dev.azure.com/{组织名}/{项目名}/_apis/git/repositories/{仓库ID}/pullRequests/{PR编号}/changes?api-version=7.1-preview.1"

返回结果中每个文件条目会包含唯一的changeId。

2. 获取单个文件的结构化行变更

curl -u "你的用户名:PAT" \
"https://dev.azure.com/{组织名}/{项目名}/_apis/git/repositories/{仓库ID}/pullRequests/{PR编号}/changes/{changeId}?api-version=7.1-preview.1"

返回的changeEntries数组会包含每行的具体变更信息:

  • changeType:add/delete/edit 标记行操作类型
  • sourceLine:原始文件中的行号(删除/修改时有效)
  • targetLine:修改后文件中的行号(新增/修改时有效)
  • content:该行的具体内容

权限说明

个人访问令牌(PAT)需要授予**Code (Read)**权限,确保能正常访问PR相关的代码变更数据。

内容的提问来源于stack exchange,提问作者Suresh Rajamani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 11:08:24