Событие 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 4

1 ответ:

Когда вы подключаете события к API клиента, вы получаете только те события, которые были созданы этим клиентом. Если вы должны были подключить слушателя BranchObjectCreated, то вызовите VersionControlServer.CreateBranch(), тогда будет вызван созданный слушателем объект ветви.

Если вы хотите прослушивать события на сервере (например, когда кто-то другой создает ветвь или вы создаете ветвь от другого клиента), то вам нужно подключиться к системе оповещения проекта сервера.

Вы можете установить оповещения Проводник В программе Team Foundation Server Power Tools, которая позволит настроить детальные оповещения о проектах, которые будут отправлять вам электронную почту или вызывать веб-метод. На этом этапе можно создать новую сборку, ссылающуюся на эту новую ветвь.