繁体   English   中英

如何使用C#为TFS中的每个用户获取所有事件订阅?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM