2013-02-20 2 views
2
  • Я ищу информацию о том, как подписаться на CheckinEvents в сервере TFS с использованием TFS Java SDK.

Я столкнулся с this link, который показывает, как это сделать, используя TFS .Net SDK.Подписаться на CheckinEvent с сервера TFS с использованием TFS Java SDK

TfsTeamProjectCollection tpc = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(txtTfsURL.Text), new UICredentialsProvider()); 
tpc.EnsureAuthenticated(); 
IEventService eventService = tpc.GetService(typeof(IEventService)) as IEventService; 
DeliveryPreference delPref = new DeliveryPreference(); 
delPref.Address = “http://” + System.Environment.MachineName + “:8001/CheckInNotify”; 
delPref.Schedule = DeliverySchedule.Immediate; 
delPref.Type = DeliveryType.Soap; 
subscriptionId = eventService.SubscribeEvent(System.Environment.UserDomainName + “\\” + System.Environment.UserName, “CheckInEvent”, “”, delPref); 
lblSubscription.Content = string.Format("A checkin subscription is created with subscription id : {0}",subscriptionId.ToString()); 

Что такое соответствующие API Java? Являются ли они такими же, как указано ниже?

TFSTeamProjectCollection.getVersionControlClient().getEventEngine().addCheckinListener(CheckinListener listener); 

Также я подозреваю, что этот прослушиватель уведомляется, только когда мы проводим проверку с использованием того же клиента. Это верно?

  • Также как определить коллекцию TFS & проект из уведомления SOAP ответа?

Существует GUID, который является ориентиром для коллекции, но он является частью некоторых данных, поэтому не уверен, что он доступен все время и имя проекта. Есть идеи?

  • Как вы убедитесь, что вы не подписываетесь на эту же коллекцию дважды? Можем ли мы подписаться на проект?

ответ

0
  1. Нет, два примера, которые вы предоставляете, не эквивалентны. Первый пример устанавливает уведомление SOAP, а Team Foundation Server отправит SOAP-сообщение в настроенную конечную точку всякий раз, когда кто-либо проверяет его. Второй будет настраивать «двигатель» события клиента, чтобы вызывать своего слушателя при регистрации, когда ваш клиент успешно проверяет .

  2. API Java, как вы заметили, настроит Java API для запуска события при каждом его регистрации. Невозможно настроить события SOAP - или глобальные события, которые происходят на самом сервере - с помощью API Java.

  3. Я предлагаю вам использовать уникальный URI для идентификации коллекции проектов. Здесь аргументы запроса будут уместны. Чтобы определить проект, вам нужно только посмотреть путь к серверу.

  4. Я не знаком с доставкой GUID проекта, но я бы устранил проблему с помощью # 3, выше.

+0

Привет, Эдвард, спасибо за ответ :) Теперь все равно я могу настроить уведомление SOAP с помощью TFS с помощью java SDK? И URI, о котором вы говорите. Это так: Или есть что-нибудь в ответ? – Srinivas