Получение изменений в активности процесса сборки - PullRequest
1 голос
/ 13 февраля 2012

У меня есть пользовательское кодовое действие, которое отправляет электронное сообщение о состоянии в конце процесса сборки. Пока у меня это работает, за исключением того, что я не могу получить связанные изменения и рабочие элементы.

Сейчас я использую приведенный ниже код, чтобы попытаться получить наборы изменений и рабочие элементы, но он возвращает пустой список.

IList<IChangesetSummary> changesetSums = InformationNodeConverters.GetAssociatedChangesets(buildDetails);
IList<IWorkItemSummary> workItemSums = InformationNodeConverters.GetAssociatedWorkItems(buildDetails);

Мой CodeActivity работает хорошо после того, как действие AssociateChangesetsAndWorkItems было выполнено и завершено, а наборы изменений и рабочие элементы отображаются в сводной информации о сборке в Visual Studios.

1 Ответ

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

Проблема в том, что IBuildDetail каким-то образом не обновляется, пока вся сборка не будет завершена, либо вы используете ссылку, доступную в самом процессе сборки, либо запрашиваете новый IBuildDetail отдельно.Я пробовал оба варианта при выполнении сценария Powershell ближе к концу процесса (поведение было одинаковым как на агенте, так и на контроллере).

Я решил использовать * 1009Переменная * relatedChangesets , которая содержит результат действия AssociateChangesetsAndWorkItems в шаблоне процесса по умолчанию.Это дает вам массив связанных наборов изменений.

Тогда будет легко получить связанные рабочие элементы, поскольку эта информация уже должна присутствовать.Однако я не проверял это, так как мне не нужны рабочие элементы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...