[英]How to get all event subscriptions for each user in TFS using C#?
我有一个要求,就是在编辑与之相关的WorkItem时,使所有不接收电子邮件警报的用户都接受。 就像我想的那样,TFS根据某种事件提供警报,每个用户必须是特定事件的订户。
我可以使用以下代码获取所有事件
IEventService es = tfs.GetService(typeof(IEventService)) as IEventService;
Subscription[] events = es.GetAllEventSubscriptions();
在那之后,我吸引了所有身份
IGroupSecurityService gss = (IGroupSecurityService)tfsIdent.GetService(typeof(IGroupSecurityService));
Identity SIDS = gss.ReadIdentity(SearchFactor.AccountName, "Project Collection Valid Users", QueryMembership.Expanded);
Identity[] UserId = gss.ReadIdentities(SearchFactor.Sid, SIDS.Members, QueryMembership.Direct);
最后一步,我从UserId中提取所有用户,该事件在任何事件中都不会出现在电子邮件中,并且会显示新的用户列表。
我从列表中询问了一些用户是否设置了警报,他们证明了。
任何人都可以向我指出正确的方向,以匹配未订阅WorkItemChangeEvent的TFS用户列表。
PS:对不起,我英语不好。
您正在调用的服务将返回您有权查看的所有事件。 如果需要所有事件,则需要创建一个具有适当权限的帐户。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.