Azure DevOps Server 2020.1.1 API - 如何获取包含它 运行 上的代理的构建

Azure DevOps Server 2020.1.1 API - How to get a build including the agent it ran on

我正在使用 nuget 包 Microsoft.TeamFoundationServer.ClientBuildHttpClient 实例来获取我的构建。不幸的是,Build 类型的获取对象不包括用于 运行 构建的代理的名称或 ID。

属性 Queue 仅包含有关已使用队列的信息,但不包含有关特定代理的信息。还有一个属性AgentSpecification,不过这个好像一直是空的

我或许可以解析构建的附加日志,但这会非常麻烦。

是的,这是一个问题。但是,作为解决方法,您可以尝试从日志中提取该信息。小例子:

var logs = BuildClient.GetBuildLogsAsync(TeamProjectName, buildId).Result;

foreach(var log in logs)
{
    var lines = BuildClient.GetBuildLogLinesAsync(TeamProjectName, buildId, log.Id).Result;

    foreach (var line in lines)
        if (line.Contains("Agent")) Console.WriteLine(line);                    
}

结果: