gpt4 book ai didi

java - 使用 TFS Java SDK 通过 TFS 服务器订阅 CheckinEvent

转载 作者:行者123 更新时间:2023-11-29 09:06:05 25 4
gpt4 key购买 nike

  • 我正在寻找有关如何订阅 CheckinEvents 的信息TFS 服务器使用 TFS Java SDK .

我遇到了 this link展示了如何使用 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);

我还怀疑只有当我们使用同一个客户端 checkin 时才会通知这个监听器。对吗?

  • 另外,我们如何从 Notification SOAP 响应中识别 TFS 集合和项目?

有一个 GUID,它是集合的 GUID,但它是其他数据的一部分,所以不确定它是否一直可用和项目名称。有什么想法吗?

  • 如何确保您不会两次订阅同一个 Collections ?我们可以只订阅一个项目吗?

最佳答案

  1. 不,您提供的两个示例并不等同。第一个示例设置了一个 SOAP 通知,Team Foundation Server 将在任何用户 checkin 时向配置的端点发送一条 SOAP 消息。第二个示例将客户端的事件“引擎”配置为在您的客户端 成功签到。

  2. 如您所述,Java API 会将 Java API 配置为在您 checkin 时触发事件。您无法使用 Java API 配置 SOAP 事件或服务器本身发生的全局事件。

  3. 我建议您使用唯一的 URI 来标识项目集合。查询参数在这里是合适的。要识别项目,您只需查看服务器路径。

  4. 我不熟悉何时交付项目集合 GUID,但我会通过上面的 #3 来消除歧义。

关于java - 使用 TFS Java SDK 通过 TFS 服务器订阅 CheckinEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14976292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com