2016-07-22 2 views
0

Возможно ли установить групповой оповещение группы Alert/TFS Programmatically с использованием API TFS 2015 или сценария Power Shell? У нас есть требование создать TFS Alert более ~ 15 и искать возможность создания оповещения с помощью api/script вместо ручного.TFS 2015 Alert API: создать оповещение для группы Team или TFS

ответ

1

Насколько я знаю, предупреждения используются для уровня коллективного проекта и коллективного проекта, поэтому оповещения, которые вы создали в команде, будут указаны в списке предупреждений командного проекта. Для уровня коллективного сбора команд предупреждения будут перечислены во всех командных проектах и ​​в списке предупреждений команды.

Простой код для создания предупреждение:

NetworkCredential cred = new NetworkCredential("[user name]", "[password]", "[domain]"); 
     TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(new Uri("[collection url]"), cred); 
     tpc.EnsureAuthenticated(); 
     IIdentityManagementService2 ims = tpc.GetService<IIdentityManagementService2>(); 


     TeamFoundationIdentity identity = ims.ReadIdentity(IdentitySearchFactor.AccountName,"[user name]", MembershipQuery.None,ReadIdentityOptions.None); 
     if(identity!=null) 
     { 
      string s = identity.Descriptor.Identifier; 
     } 
     IEventService es = tpc.GetService<IEventService>(); 
     List<Subscription> allSubScrip = es.GetAllEventSubscriptions().ToList(); 
     DeliveryPreference deliverPreference = new DeliveryPreference(); 
     deliverPreference.Address = "[email address]"; 
     deliverPreference.Schedule = DeliverySchedule.Immediate; 
     deliverPreference.Type = DeliveryType.EmailHtml; 

     string filter = string.Format("\"CoreFields/IntegerFields/Field[Name='ID']/NewValue\"='10'"); 
     string eventName = string.Format("<PT N=\"A specific work item is changed API team\" />"); 
     es.SubscribeEvent(identity.Descriptor.Identifier, "WorkItemChangedEvent", filter, deliverPreference, eventName,projectName: "[team project name]"); 

Примечание: Если вы не знаете, как определить фильтр, вы можете создать оповещения образцы в веб-доступа, а затем проверить запись в таблице dbo.tbl_EventSubscription из сбор данных.

Смежные вопросы