TFS电子邮件通知

时间:2009-11-17 01:38:11

标签: email tfs tfs2008 alerts

当我在TFS中添加错误(工作项)并将其分配给用户时,我希望向该用户发送一封电子邮件。

此外,如果现有错误已更改“已分配给”,我希望该用户收到电子邮件。 是否可以在TFS 2008中为用户分配更改的错误时向用户发送警报?

4 个答案:

答案 0 :(得分:11)

至少在VS 2005中,在Team菜单上,您会找到Project Alerts...项,该项允许用户指定将在My work items are changed by others时通知的电子邮件地址,其中包含你提到的情况。我想VS 2008会有类似的事情。

答案 1 :(得分: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);
                }
            }

答案 2 :(得分:1)

在VS 2010中,如果安装了TFS 2010 Power Tools,则可以转到团队菜单并选择警报资源管理器。这将允许您创建新警报。

答案 3 :(得分:1)

我知道你的帖子是2008年的,但这是一篇很老的帖子,希望你现在在2010年。 对于TFS 2010,现在有一个简单的解决方案,通过可以从中下载的插件 CodePlex - Team Alert

这是一个简单的复制粘贴解决方案,使用下面帖子中列出的配置摘录,您可以花5分钟到位:

这篇文章将展示您执行所需操作所需的确切配置。 Notify AssignedTo user of new work (for a specific TFS project)