TFS 2010 расширяет сборку gated для отправки идентификатора набора изменений в другую систему - PullRequest
1 голос
/ 20 января 2012

Я расширяю стробированную сборку для интеграции со сторонней системой. В конечном итоге я хотел бы отправить в эту систему идентификатор набора изменений и список измененных файлов.

После сообщения Джима Лэмба (http://blogs.msdn.com/b/jimlamb/archive/2009/11/18/how-to-create-a-custom-workflow-activity-for-tfs-build-2010.aspx) я добавил действие для подключения к другой системе и добавил его в определение своей сборки xaml после активности изменений, внесенных в нее.

У меня вопрос, как мне получить информацию об этой конкретной сборке, которая мне нужна в моей пользовательской активности?

1 Ответ

2 голосов
/ 20 января 2012

По вашему вопросу кажется, что вы хотите специально получить список наборов изменений, которые были проверены gated-сборкой, и затем получить список измененных файлов.

В TFS 2010 CheckInGatedChangesне предоставляет вам список наборов изменений, которые он зафиксировал, поэтому вам нужно будет полагаться на информационные узлы сборки, созданные при регистрации.

Из пользовательского действия вы можете получить IBuildDetailобъект из рабочего процесса, а затем используйте его для запроса узлов информации о сборке с типом CheckinOutcome.Вы можете прочитать два поля "ChangesetId" и "CheckInCommitted" из этого информационного узла.Убедитесь, что CheckInCommitted равен «success».

Чтобы получить объект IBuildDetail из рабочего процесса, вам необходимо добавить свойство InArgument в свою пользовательскую операцию:

        public InArgument<IBuildDetail> Build { get; set; }

Затем в своем кодедействие, используйте:

        IBuildDetail build = Build.Get(context);

Если вы создаете составное действие, вы можете использовать действие GetBuildDetail , чтобы получить объект IBuildDetail.

Надеюсь, это поможет.

...