TFS API BranchObjectCreated事件未激发
我有一些代码可以在TFS中自动创建构建定义 现在,我希望在创建分支时调用此代码 查看API,我看到Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer中有一个BranchObjectCreatedEvent 因此,我在控制台应用程序中添加了一些代码来处理该事件TFS API BranchObjectCreated事件未激发,tfs,tfs-sdk,Tfs,Tfs Sdk,我有一些代码可以在TFS中自动创建构建定义 现在,我希望在创建分支时调用此代码 查看API,我看到Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer中有一个BranchObjectCreatedEvent 因此,我在控制台应用程序中添加了一些代码来处理该事件 private static void MonitorBranchCreated() { try {
private static void MonitorBranchCreated()
{
try
{
TfsTeamProjectCollection tfs = InitialiseTfs();
var vcs = tfs.GetService<VersionControlServer>();
var projects = vcs.GetAllTeamProjects(true);
foreach (var project in projects)
{
project.VersionControlServer.BranchObjectCreated += BranchObjectCreated;
}
Console.WriteLine("Subscribed to TFS BranchObjectCreated Event - Awaiting Notification...");
Console.ReadLine();
}
catch (Exception exception)
{
DisplayError(exception);
}
}
private static void BranchObjectCreated(object sender, BranchObjectCreatedEventArgs e)
{
// Create the Build
}
private static void MonitorBranchCreated()
{
尝试
{
TfsTeamProjectCollection tfs=InitialiseTfs();
var vcs=tfs.GetService();
var projects=vcs.GetAllTeamProjects(true);
foreach(项目中的var项目)
{
project.VersionControlServer.BranchObjectCreated+=BranchObjectCreated;
}
WriteLine(“订阅TFS BranchObjectCreated事件-等待通知…”);
Console.ReadLine();
}
捕获(异常)
{
显示错误(异常);
}
}
私有静态无效BranchObjectCreated(对象发送方,BranchObjectCreatedEventArgs e)
{
//创建构建
}
问题是,当我在VisualStudio中从源代码管理资源管理器创建分支时,事件从未触发
MSDN文档是有限的,我找不到任何其他使用示例,所以我希望有人能告诉我这是否是正确的方法
如果是这样的话,为什么事件不会被触发?如果没有,是否有其他方法可以连接到TFS,以便处理与创建分支相关的事件?当您将事件连接到客户端API时,您只会获得由该客户端创建的事件。如果要连接一个
BranchObjectCreated
侦听器,然后调用VersionControlServer.CreateBranch()
,然后将调用您创建的分支对象侦听器
如果要侦听服务器上的事件(例如,当其他人创建分支时,或者您从其他客户端创建分支时),则需要连接到服务器的项目警报系统
您可以在中安装,以便在将向您发送电子邮件或调用web方法的项目上配置细粒度警报。此时,您可以创建一个引用此新分支的新生成。谢谢,我查看了事件服务,但没有创建分支的事件。最后,我创建了一个服务,它每隔一段时间通过VersionControlServer中的QueryRootBranchObjects查询分支,然后根据自上次查询以来创建的任何新分支创建一个构建。+1为此,我应该提到轮询作为一个选项,这也是我过去所做的,并且取得了巨大成功。