如果我有一个合并到20个分支的提交(20个请求请求),是否有一个API可以通过使用原始的叶子提交ID作为参数来查找20个提交ID的列表?
GetPullRequests(string commitId)
理想情况下,会有一个git rest API方法来执行此操作,但我似乎找不到它。
谢谢!
答案 0 :(得分:0)
我能够弄清楚。我们应该使用PullRequestQuery并传递提交列表作为输入。对于我们输入的每个提交,它将返回合并提交ID的字典。以下是获取一个提交ID的所有PR的代码。
public void GetAllPullRequestsForCommit(Guid repoId, string commitId)
{
var query = new GitPullRequestQuery();
var input = new GitPullRequestQueryInput() { Type = GitPullRequestQueryType.Commit, Items = new List<string>() { commitId } };
query.QueryInputs = new List<GitPullRequestQueryInput>() { input };
var response = _gitClient.GetPullRequestQueryAsync(query, repoId).Result;
var samplePullRequest = response.Results.SelectMany(x => x.Values).First().First().PullRequestId;
}
更多信息here
答案 1 :(得分:0)
我发现这个问题和答案很有用(即使我使用的是邮递员,而不是C#),因为the microsoft doc出于我的金钱,没有一个有用的解释或示例,说明此请求的输入/正文是什么样。
因此,除了此处的答案和文档外,这还应设置输入/结果请求正文的格式:
white-space: pre-wrap
如果您转到 Azure DevOps>存储库>提交,然后单击PR中的提交,则可以验证这一点。加载此页面后,“网络”标签会显示对 PullRequestQuery 的请求,其正文/有效载荷的格式如上所述。