TFS 电子邮件通知
Posted
技术标签:
【中文标题】TFS 电子邮件通知【英文标题】:TFS email notification 【发布时间】:2009-11-17 01:38:11 【问题描述】:当我在 TFS 中添加错误(工作项)并将其分配给用户时,我希望向该用户发送一封电子邮件。
此外,如果现有错误已更改“分配给”,我希望该用户收到一封电子邮件。 是否可以在 TFS 2008 中为用户分配已更改的错误时向用户发送警报?
【问题讨论】:
【参考方案1】:至少在 VS 2005 中,在Team
菜单上,您会找到一个Project Alerts...
项,它允许用户指定一个电子邮件地址,当My work items are changed by others
时将通知该电子邮件地址,它涵盖了您提到的两种情况。我想 VS 2008 也会有类似的东西。
【讨论】:
刚刚检查过,VS2008 确实有相同的对话框,虽然警报选项似乎仅限于“我的工作项被其他人更改”、“任何东西都已签入”、“构建质量发生变化” " 和 "构建完成"。 我不知道这是否是我们的部署,但通过项目警报的任何通知都会严重延迟。有时通知需要超过 24 小时才能到达,这违背了目的......【参考方案2】:不幸的是,TFS 没有任何开箱即用的功能,可以在没有收件人干预的情况下完成此操作。 Richard Ev 的评论可以起作用,但并不是真正可持续的。每个人都需要创建这个,或者你需要为他们做这件事,并继续为所有新的团队成员做这件事。
相反,您最好创建一个事件订阅者。这是一个非常有用的帖子http://www.codeproject.com/Articles/110292/Team-Foundation-Server-2010-Event-Handling-with-Su。
您需要使用 IIdentityManagementService 来检索相应用户的电子邮件。一个例子:
using (var projectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(collectionUri, new UICredentialsProvider()))
var gss = projectCollection.GetService<IGroupSecurityService>();
var ims = projectCollection.GetService<IIdentityManagementService>();
var validUsersId = ims.ReadIdentity(IdentitySearchFactor.AccountName, "Team Foundation Valid Users", MembershipQuery.Expanded, ReadIdentityOptions.IncludeReadFromSource);
var validUsers = gss.ReadIdentities(SearchFactor.Sid, validUsersId.Members.Select(x => x.Identifier).ToArray(), QueryMembership.None);
foreach (var member in validUsers)
Console.WriteLine("0: 1", member.AccountName, member.MailAddress);
【讨论】:
【参考方案3】:在 VS 2010 中,如果您安装了 TFS 2010 Power Tools,您可以转到 Team 菜单并选择 Alerts Explorer。这将允许您创建新警报。
【讨论】:
你说得对,理查德,问题是这些警报大多适用于有限的几个条件,以及特定的“分配给我/用户名”规则。需要为每个用户设置它。这对自我管理的警报有好处,但是如果您想将自定义警报推送给多个用户,我仍然建议您使用上面链接的 CodePlex - 团队警报解决方案。【参考方案4】:我知道您的帖子是 2008 年的,但这是一篇旧帖子,希望您现在是 2010 年的帖子。 对于 TFS 2010,现在有一个简单的解决方案,通过一个插件可以从 CodePlex - Team Alert
这是一个简单的复制粘贴解决方案,使用下面帖子中列出的配置摘录可能需要 5 分钟的时间:
这篇文章将显示执行所需操作所需的确切配置。 Notify AssignedTo user of new work (for a specific TFS project)
【讨论】:
以上是关于TFS 电子邮件通知的主要内容,如果未能解决你的问题,请参考以下文章