Azure devops Azure DevOps服务器对象Api按更改id获取构建
使用Azure管道对象API,可以获得构建Azure devops Azure DevOps服务器对象Api按更改id获取构建,azure-devops,azure-devops-rest-api,Azure Devops,Azure Devops Rest Api,使用Azure管道对象API,可以获得构建 BuildHttpClient.GetBuildsAsync(params) 现在我可以获得构建的更改,因为我需要通过特定的更改id(提交哈希)过滤构建 有没有办法在一次查询中通过具有特定更改id的API获取版本?您可以从BuildHttpClient.GetBuildsAsync获取sourceVersion和id,并直接过滤sourceVersionsourceVersion是变更集ID/CommitId。例如: string _
BuildHttpClient.GetBuildsAsync(params)
现在我可以获得构建的更改,因为我需要通过特定的更改id(提交哈希)过滤构建
有没有办法在一次查询中通过具有特定更改id的API获取版本?您可以从
BuildHttpClient.GetBuildsAsync
获取sourceVersion
和id
,并直接过滤sourceVersion
sourceVersion
是变更集ID/CommitId。例如:
string _personalAccessToken = "xxxxxxxxx";
VssBasicCredential credentials = new VssBasicCredential("", _personalAccessToken);
var connection = new VssConnection(new Uri(@"https://dev.azure.com/xxxx"), credentials);
var buildServer = connection.GetClient<BuildHttpClient>();
var builds = buildServer.GetBuildsAsync($"teamprojectname").Result;
foreach (var build in builds)
{
if (build.SourceVersion == "commitID")
{
Console.WriteLine(build.Id);
}
}
string\u personalAccessToken=“xxxxxxxxx”;
VssBasicCredential凭证=新的VssBasicCredential(“,_personalAccessToken”);
var连接=新VssConnection(新Uri(@)https://dev.azure.com/xxxx(a)全权证书;
var buildServer=connection.GetClient();
var builds=buildServer.GetBuildsAsync($“teamprojectname”).Result;
foreach(var内置版本)
{
if(build.SourceVersion==“commitID”)
{
Console.WriteLine(build.Id);
}
}
您可以从BuildHttpClient.GetBuildsAsync
获取sourceVersion
和id
,并直接过滤sourceVersion
sourceVersion
是变更集ID/CommitId。例如:
string _personalAccessToken = "xxxxxxxxx";
VssBasicCredential credentials = new VssBasicCredential("", _personalAccessToken);
var connection = new VssConnection(new Uri(@"https://dev.azure.com/xxxx"), credentials);
var buildServer = connection.GetClient<BuildHttpClient>();
var builds = buildServer.GetBuildsAsync($"teamprojectname").Result;
foreach (var build in builds)
{
if (build.SourceVersion == "commitID")
{
Console.WriteLine(build.Id);
}
}
string\u personalAccessToken=“xxxxxxxxx”;
VssBasicCredential凭证=新的VssBasicCredential(“,_personalAccessToken”);
var连接=新VssConnection(新Uri(@)https://dev.azure.com/xxxx(a)全权证书;
var buildServer=connection.GetClient();
var builds=buildServer.GetBuildsAsync($“teamprojectname”).Result;
foreach(var内置版本)
{
if(build.SourceVersion==“commitID”)
{
Console.WriteLine(build.Id);
}
}
这不符合我们的要求。如果我们有多个提交,这将不再有效。为此,构建的变更集包含具有任何提交id的任何变更,这正是我们需要的。另一点是,如果我们在GetBuildsAsync参数上有一个top集合,那么这将是一个额外的筛选器,并且不会返回所需的生成数。。。因此,我们需要加载更多的构建,直到达到顶部,这很糟糕。如果是这种情况,恐怕您必须像以前一样循环更改。没有默认的方式使用api通过变更id获取构建。这对于我们的需求来说是不可靠的。如果我们有多个提交,这将不再有效。为此,构建的变更集包含具有任何提交id的任何变更,这正是我们需要的。另一点是,如果我们在GetBuildsAsync参数上有一个top集合,那么这将是一个额外的筛选器,并且不会返回所需的生成数。。。因此,我们需要加载更多的构建,直到达到顶部,这很糟糕。如果是这种情况,恐怕您必须像以前一样循环更改。没有默认的方法使用api通过更改id获取构建。