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

如何通过Pull RequestId获取Azure DevOps中的文件变更

获取Azure DevOps Pull Request的整体文件变更(排除单个提交变更)

你可以通过以下两种方式直接获取Pull Request的最终文件变更集,无需遍历或包含PR内的单个提交记录变更:

一、使用Azure DevOps REST API

调用专门的Pull Request文件端点,返回的是PR合并前后的整体文件差异,而非每个提交的单独变更:

请求示例

GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/pullrequests/{pullRequestId}/files?api-version=7.1-preview.1

参数说明

  • {organization}:Azure DevOps组织名称
  • {project}:项目名称或ID
  • {repositoryId}:代码仓库的ID或名称
  • {pullRequestId}:目标Pull Request的ID
  • api-version:推荐使用7.1-preview.1及以上版本(稳定版也可兼容)

返回内容

响应会包含PR中所有变更文件的详细信息,核心字段包括:

  • path:文件路径
  • changeType:变更类型(如add、edit、delete等)
  • originalPath:文件原始路径(若有重命名)
  • url:文件差异的预览链接

二、使用.NET客户端库(Microsoft.TeamFoundationServer.Client)

通过官方NuGet包Microsoft.TeamFoundationServer.Client提供的GitHttpClient类,直接调用GetPullRequestFilesAsync方法获取PR的整体文件变更:

代码示例

using Microsoft.VisualStudio.Services.Client;
using Microsoft.TeamFoundation.SourceControl.WebApi;
using System;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        // 配置Azure DevOps连接信息
        var orgUri = new Uri("https://dev.azure.com/your-organization");
        var patToken = "your-personal-access-token"; // 需包含Code Read权限
        var credentials = new VssBasicCredential(string.Empty, patToken);

        // 初始化Git客户端
        using var gitClient = new GitHttpClient(orgUri, credentials);

        // 获取PR的文件变更
        var prFiles = await gitClient.GetPullRequestFilesAsync(
            project: "your-project",
            repositoryId: "your-repo-id-or-name",
            pullRequestId: 123 // 替换为目标PR的ID
        );

        // 输出变更文件信息
        foreach (var file in prFiles)
        {
            Console.WriteLine($"文件路径: {file.Path} | 变更类型: {file.ChangeType}");
        }
    }
}

说明

  • 该方法返回的PullRequestFile集合直接对应PR的最终状态变更,不会包含PR内单个提交的独立变更记录。
  • 确保你的Personal Access Token(PAT)拥有Code Read权限。

内容的提问来源于stack exchange,提问作者M SANDEEP

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 21:35:16