Событие WorkItemChanged на стороне клиента - PullRequest
0 голосов
/ 28 июня 2011

Для моего текущего проекта мне нужно добавить запись в базу данных, когда пользовательский рабочий элемент изменяется на конкретные состояния. Для этого вы можете создать плагин TFS, который запускается при событии WorkItemChanged. Однако политики нашей компании не позволяют нам создавать эти плагины, поскольку они обрабатываются для каждого рабочего элемента во всех коллекциях проектов. Это действие требуется только для нескольких командных проектов.

Мой вопрос: возможно ли создать какой-нибудь клиентский плагин (возможно, плагин VS), который вместо этого запускает действие для этого события? Или есть какой-то способ создать другого слушателя этого события?

Любые предложения будут с благодарностью, заранее спасибо.

Ответы [ 2 ]

1 голос
/ 28 июня 2011

Вместо того, чтобы TFS управлял для вас оповещениями, вы можете внедрить систему оповещений на основе опроса.

Я бы создал простой запрос рабочего элемента, который выбирал интересующие вас рабочие элементы и сортировал их по ИзмененномуСтолбец даты.Затем я написал бы простую программу, которая использовала бы TFS SDK для запуска этого запроса рабочего элемента и уведомления на основе результатов, сохраняя высокую отметку между опросами.(В примерах TFS SDK есть пример выполнения запроса рабочего элемента.)

Обратите внимание, что этот основанный на опросе подход имеет преимущества по сравнению с настройкой прослушивателя SOAP независимо от вашей корпоративной политики.Система предупреждений на основе SOAP, которую использует TFS, была разработана для связи между компонентами инфраструктуры TFS.Ожидается, что конечная точка SOAP, которую вы настраиваете, имеет высокую доступность - если ваша машина выйдет из строя, произойдет сбой службы SOAP или изменится ваш IP-адрес, вы увидите жалобу TFS в журнале событий.Я заполнил журнал событий на своем сервере TFS, прежде чем перейти на модель на основе опроса для аналогичной системы оповещений.

0 голосов
/ 29 июня 2011

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

Таким образом, вместо того, чтобы устанавливать состояние комбинированного списка в состояние «включено», теперь есть кнопка, которая делает то же самое, выполняет мое пользовательское кодирование итаким образом добавляет запись в нашу базу данных.

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