我可以获取构建的详细信息,但是它不包含任何有关构建作业的信息。例如,每个构建作业都在一个构建代理上运行-如何使用REST Api获取此信息?
我们讨论的是vNext构建,而不是XAML。
我可以获取构建的详细信息,但是它不包含任何有关构建作业的信息。例如,每个构建作业都在一个构建代理上运行-如何使用REST Api获取此信息?
我们讨论的是vNext构建,而不是XAML。
https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}/timeline
我使用Microsoft.TeamFoundationServer.Client软件包,并且以下是其示例: static void PrintTimeLine(string TeamProjectName, int BuildId)
{
var timeline = BuildClient.GetBuildTimelineAsync(TeamProjectName, BuildId).Result;
if (timeline.Records.Count > 0)
{
Console.WriteLine("Task Name-----------------------------Start Time---Finish Time---Result");
foreach(var record in timeline.Records)
if (record.RecordType == "Task")
Console.WriteLine("{0, -35} | {1, -10} | {2, -10} | {3}",
(record.Name.Length < 35) ? record.Name : record.Name.Substring(0, 35),
(record.StartTime.HasValue) ? record.StartTime.Value.ToLongTimeString() : "",
(record.FinishTime.HasValue) ? record.FinishTime.Value.ToLongTimeString() : "",
(record.Result.HasValue) ? record.Result.Value.ToString() : "");
}
}
https://github.com/ashamrai/TFRestApi/blob/master/19.TFRestApiAppQueueBuild/TFRestApiApp/Program.cs
https://dev.azure.com/{组织}/{项目}/_apis/build/builds/{构建ID}
可以让您了解对象 queue
下使用的代理,它会显示代理队列 (91) 号和池 ID (8)
"queue":{
"id":91,
"name":"MotBuild-Default",
"pool":{
"id":8,
"name":"MotBuild-Default"
}
https://dev.azure.com/{org}/_apis/distributedtask/pools/{pool_id}?api-version=5.0-preview.1
或者 https://dev.azure.com/{org}/{project}/_apis/distributedtask/queues/{queue_id}
将返回代理池。https://dev.azure.com/{org}/_apis/distributedtask/pools/{pool_id}/agents
将返回代理池下代理的列表。https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}
查找队列和代理池 ID。https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}/timeline
查找类型为 Job
的记录和属性 workerName
,它将返回使用的代理名称。https://dev.azure.com/{org}/_apis/distributedtask/pools/{pool_id}/agents
查询代理并通过从步骤#2中找到的名称过滤器筛选出代理 id
。https://dev.azure.com/{org}/_apis/distributedtask/pools/{pool_id}/agents/{agent_id}
将返回代理的高级信息,但不包含太多信息。https://dev.azure.com/{org}/_apis/distributedtask/pools/{pool_id}/agents/{agent_id}?includeCapabilities=true
,将返回一个巨大的结果集!我想这就是你想要的。
了解更多 API 信息,请访问: