Событие TFS API BranchObjectCreated не запускается
У меня есть некоторый код для автоматизации создания определений сборки в TFS.
Теперь я хотел бы, чтобы этот код вызывался всякий раз, когда создается ветвь.
Глядя на API, я вижу, что существует BranchObjectCreatedEvent в Microsoft.Командообразование.VersionControl.Клиент.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
}
Проблема в том, что событие никогда не срабатывает, когда я создаю ветку из Обозревателя управления исходным кодом в Visual студии.
Документация MSDN ограничена, и я не могу найти других примеров использования, поэтому я надеюсь, что кто-нибудь сможет сказать мне, является ли это правильным подходом.Если это так,то почему событие не может быть запущено? Если нет,есть ли другой способ подключиться к TFS, чтобы я мог обрабатывать события, связанные с созданием ветвей?
1 ответ:
Когда вы подключаете события к API клиента, вы получаете только те события, которые были созданы этим клиентом. Если вы должны были подключить слушателя
BranchObjectCreated
, то вызовитеVersionControlServer.CreateBranch()
, тогда будет вызван созданный слушателем объект ветви.Если вы хотите прослушивать события на сервере (например, когда кто-то другой создает ветвь или вы создаете ветвь от другого клиента), то вам нужно подключиться к системе оповещения проекта сервера.
Вы можете установить оповещения Проводник В программе Team Foundation Server Power Tools, которая позволит настроить детальные оповещения о проектах, которые будут отправлять вам электронную почту или вызывать веб-метод. На этом этапе можно создать новую сборку, ссылающуюся на эту новую ветвь.