У меня есть код для автоматизации создания определений сборки в TFS.
Теперь я хотел бы, чтобы этот код вызывался всякий раз, когда создается ветвь.
Глядя на API,Я вижу, что существует BranchObjectCreatedEvent в Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer .
Итак, я добавил некоторый код вконсольное приложение для обработки события.
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
}
Проблема в том, что событие никогда не возникает, когда я создаю ветку из Source Control Explorer в Visual Studio.
Документация MSDN ограничена, и я не могу найти другие примерыиспользования, поэтому я надеюсь, что кто-то может сказать мне, если это правильный подход.
Если так, то почему событие не запускается?Если нет, есть ли другой способ подключиться к TFS, чтобы обрабатывать события, связанные с созданием веток?