Получение информации о BuildAgent из Build - PullRequest
2 голосов
/ 08 апреля 2011

У меня есть переменная IBuildDetail с необходимой мне информацией о сборке.

Хорошо, но когда я проверяю свойство BuildAgent, оно показывает это: build.BuildAgent 'выдает исключение типа' System.NotImplementedException

Затем я попытался проверить build.BuildController.Agent, хорошо, что я нашел BuildAgent, но в этой коллекции 7 агентов сборки. Мне нужен только агент сборки, связанный с моей сборкой, а не все агенты сборки с этого контроллера.

Кто-нибудь знает, как получить эту информацию? (Выберите имя агента сборки или имя машины с помощью переменной IBuildDetail)

-> Я использую API TFS2010 и мне нужно, какой агент для каждой сборки

Ответы [ 3 ]

3 голосов
/ 28 апреля 2011

Когда сборка завершится, вы сможете получить информацию об агенте из свойства Information (IBuildInformation) объекта IBuildDetail.Вы можете попробовать получить узел со следующим типом:

http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.build.common.informationtypes.agentscopeactivitytracking.aspx

и полями:

http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.build.common.informationfields.reservedagentname.aspx

или

http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.build.common.informationfields.reservedagenturi.aspx

2 голосов
/ 29 февраля 2012

Это как Дуат говорит.
Чтобы ответить на этот вопрос, у меня была возможность изучить это.
Следующее сработало для данного 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));
1 голос
/ 11 апреля 2011

Внутри области Run On Agent необходимо иметь действие GetBuildAgent, которое присваивает сведения BuildAgent переменной типа IBuildAgent.

Затем можно получить доступ к свойствам этой переменной, чтобы получить доступ к данным оАгент сборки: http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.build.client.ibuildagent.aspx

Примечание. Рабочий процесс сборки по умолчанию уже делает это.

...