- 我正在寻找有关如何使用TFS Java SDK在 TFS 服务器中订阅 CheckinEvents 的信息。
我遇到了这个链接,它展示了如何使用 TFS .Net 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());
对应的 Java API 是什么?它们和下面的一样吗?
TFSTeamProjectCollection.getVersionControlClient().getEventEngine().addCheckinListener(CheckinListener listener);
另外我怀疑只有当我们使用同一个客户端签入时才会通知这个监听器。那是对的吗?
- 另外,我们如何从通知 SOAP 响应中识别 TFS 集合和项目?
有一个 GUID 是收集的 guid,但它是其他数据的一部分,因此不确定它是否始终可用和项目名称。有任何想法吗?
- 你如何确保你不会两次订阅同一个集合?我们可以只订阅一个项目吗?