首页 > 解决方案 > 查询一位用户根据 AAD 用户 ID 创建的所有 Azure DevOps 拉取请求

问题描述

构建 ASP.NET Core Web API。需要查询用户创建的所有拉取请求。

我已经获得了当前用户的 AAD 用户 ID。喜欢:869fcc0e-55c0-4df3-9cd6-8a2da2d2305f

这样写:

var credentials = new VssBasicCredential(userName: string.Empty, password: this.config.Key);
var vssConnection = new VssConnection(new Uri(this.config.BaseUrl), credentials);
var gitClient = vssConnection.GetClient<GitHttpClient>();

var searchCriteria = new GitPullRequestSearchCriteria
{
    TargetRefName = this.config.BranchName,
    Status = PullRequestStatus.All,
    CreatorId = Guid.Parse(userId); <---- Problem here!
};

IEnumerable<GitPullRequest> allPrs = await gitClient.GetPullRequestsAsync(
    project: this.config.ProjectName,
    repositoryId: this.config.RepositoryId,
    searchCriteria: searchCriteria,
    skip: skip,
    top: take);

return allPrs.OrderByDescending(t => t.CreationDate);

但我无法得到结果。我发现 Azure DevOps 用户 id 可能与用户的 AAD id 的概念不同。

那么查询一个用户根据他的 AAD 用户 ID 创建的所有拉取请求的正确方法是什么?

(更喜欢使用 C# SDK 而不是 REST API)

标签: azureazure-devopsazure-devops-rest-api

解决方案


推荐阅读