0
是否可以使用TFS 2015 API或Power Shell腳本以編程方式設置團隊警報/ TFS組警報?我們需要創建超過15秒的TFS警報,並尋找一個選項來使用api /腳本創建警報,而不是手動創建警報。TFS 2015警報API:爲團隊或TFS組創建警報
是否可以使用TFS 2015 API或Power Shell腳本以編程方式設置團隊警報/ TFS組警報?我們需要創建超過15秒的TFS警報,並尋找一個選項來使用api /腳本創建警報,而不是手動創建警報。TFS 2015警報API:爲團隊或TFS組創建警報
據我所知,警報用於團隊項目和團隊項目集合級別,因此您在團隊中創建的警報將列在團隊項目的警報列表中。對於團隊項目收集級別,警報將在所有團隊項目和團隊的警報列表中列出。
簡單的代碼來創建警報:
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表收集數據庫。