【发布时间】:2017-08-10 13:43:26
【问题描述】:
我正在尝试使用 TFS 2015 客户端 API 来获取新构建器系统的构建详细信息。 我已经走得很远了,
使用 GetBuildsAsync 我可以获取当前正在运行的构建,但并非所有属性都已填充。
var buildClient = new BuildHttpClient(new Uri(m_myCollectionUrl, UriKind.Absolute), cred);
Build[] buildsInProgress = (buildClient.GetBuildsAsync(projectName, statusFilter: Microsoft.TeamFoundation.Build.WebApi.BuildStatus.InProgress)).Result.ToArray();
即使构建定义有一个或多个默认需求,Build.Demands 列表也始终为空,而且在构建队列时指定另一个时,它也不会使用 API 显示。该列表始终为空。
我现在尝试了几种方法 buildClient.GetFullDefinitionsAsync - 导致 BuildDefinition 要求 = null buildClient.GetDefinitionAsync - 生成一个 BuildDefinition,其中的需求由定义中的默认需求填充,但只有我们自己定义的需求,而不是系统的需求。 buildClient.GetBuildsAsync - 导致 Build 的需求为空 所以我仍然没有找到一个调用,我可以在其中获取已用于查找的需求 BuildAgent。为了进行上述测试,我正在运行一个包含 2 个“存在”需求的测试版本,并且我在排队时指定了另一个,但我无法找到。
我无法在网上找到很多相关信息。我应该怎么做才能获得有关构建的更多详细信息。
谢谢。
【问题讨论】:
-
当您获得构建定义的详细信息而不是正在运行的构建时,
Demands的结果是什么? -
我现在已经尝试了几种方法 buildClient.GetFullDefinitionsAsync - 导致 BuildDefinition 要求 = null我们自己定义的那些。 buildClient.GetBuildsAsync - 导致需求为空的构建所以我仍然没有找到可以获取已用于查找该 BuildAgent 的需求的调用。为了进行上述测试,我正在运行一个包含 2 个“存在”需求的测试版本,并且我在队列时间指定了另一个,但我无法找到。
-
得到了和你一样的结果,恐怕value=null是由于需求存在而不是equals。实际上,它在门户网站中没有任何价值。