我有一个IBuildDetail变量,其中包含我需要的构建信息。
好的,但是当我检查属性BuildAgent时,它显示了这个:build.BuildAgent'抛出了类型'System.NotImplementedException
的异常然后我尝试检查build.BuildController.Agents,我发现BuildAgent很好,但是这个集合中有7个构建代理。我只需要与我的构建相关的构建代理,而不是来自该控制器的所有构建代理。
任何人都知道如何获取这些信息? (使用IBuildDetail变量选择构建代理名称或计算机名称)
- >我正在使用TFS2010 api,我需要每个构建的代理
答案 0 :(得分:3)
构建完成后,您应该能够从IBuildDetail的Information(IBuildInformation)属性中获取代理信息。您可以尝试使用以下类型获取节点:
和字段:
或
答案 1 :(得分:2)
就像Duat说的那样。
为了回答this问题,我有机会探讨这个问题。
以下内容适用于给定的IBuildDetail buildDetail
&访问IBuildServer buildService
:
IBuildInformation buildInformation = buildDetail.Information;
IBuildInformationNode[] buildInformationNodes = buildInformation.Nodes;
string agentUri = buildInformationNodes[0].Children.Nodes[3].Fields["ReservedAgentUri"];
IBuildAgent buildAgent = buildService.GetBuildAgent(new Uri(agentUri));
答案 2 :(得分:1)
在Run On Agent范围内,您需要具有GetBuildAgent活动,该活动将BuildAgent详细信息分配给IBuildAgent类型的变量。
然后,您可以访问该变量的属性以访问有关构建代理的数据:http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.build.client.ibuildagent.aspx
注意:默认构建工作流程已经执行此操作。