2009-11-17 27 views
17

Khi tôi thêm lỗi (Mục công việc) trong TFS và gán nó cho người dùng, tôi muốn một email được gửi đến người dùng đó.Thông báo email TFS

Ngoài ra nếu lỗi hiện tại có "Đã gán cho" đã thay đổi, tôi muốn người dùng đó nhận được email. Có thể gửi Cảnh báo cho người dùng khi họ được gán lỗi đã thay đổi trong TFS 2008 không?

Trả lời

11

Trong VS 2005 ít nhất, trên menu Team bạn sẽ tìm thấy mục Project Alerts... cho phép người dùng chỉ định địa chỉ email sẽ được thông báo khi My work items are changed by others, bao gồm cả các tình huống bạn đề cập. Tôi tưởng tượng VS 2008 sẽ có một điều tương tự.

+0

vừa chọn và VS2008 thực sự có cùng hộp thoại, mặc dù các tùy chọn cảnh báo dường như bị giới hạn ở "mục công việc của tôi bị thay đổi bởi người khác", "mọi thứ được chọn", "thay đổi chất lượng xây dựng" và " xây dựng hoàn thành ". – Conan

+0

Tôi không biết đó có phải là triển khai của chúng tôi hay không, nhưng mọi thông báo qua Cảnh báo dự án đều bị trì hoãn nghiêm trọng. Đôi khi phải mất hơn 24 giờ cho các thông báo đến nơi mà đánh bại mục đích ... –

1

Trong VS 2010, nếu bạn có TFS 2010 Power Tools cài đặt bạn có thể đi đến Đội menu và chọn Alerts Explorer. Điều đó sẽ cho phép bạn tạo các cảnh báo mới.

+0

Bạn đúng Richard, vấn đề là những cảnh báo chủ yếu là availble đến một vài điều kiện hạn chế, cũng như cụ thể "giao cho tôi/tên người dùng "quy tắc. Nó sẽ cần phải được thiết lập cho mỗi người dùng. Điều này có lợi ích cho các cảnh báo tự quản lý, nhưng nếu bạn muốn đẩy cảnh báo tùy chỉnh cho nhiều người dùng, tôi vẫn đề xuất giải pháp CodePlex - Team Alert được liên kết ở trên. – Neville

2

Thật không may, TFS không có bất cứ thứ gì được xây dựng trong hộp để thực hiện việc này mà không cần sự can thiệp của người nhận. Richard Ev bình luận có thể làm việc, nhưng không thực sự bền vững. Mỗi người cần phải tạo ra điều này hoặc bạn cần phải làm điều đó cho họ và tiếp tục làm việc đó cho tất cả các thành viên trong nhóm mới.

Thay vào đó, bạn nên tạo một Người đăng ký sự kiện. Đây là một bài viết rất hữu ích http://www.codeproject.com/Articles/110292/Team-Foundation-Server-2010-Event-Handling-with-Su.

Bạn sẽ muốn sử dụng IIdentityManagementService để truy xuất email của người dùng tương ứng. Ví dụ:

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); 
       } 
      } 
1

Tôi biết bài đăng của bạn là năm 2008, nhưng đó là một bài đăng cũ và hy vọng bạn đang ở trên 2010 ngay bây giờ. Đối với TFS 2010 có một giải pháp dễ dàng cho bạn bây giờ, qua một plugin có thể được tải về từ CodePlex - Team Alert

Đó là một giải pháp copy-paste đơn giản mà có thể mất 5 phút để đưa ra bằng cách sử dụng chiết xuất cấu hình được liệt kê trong bài đăng bên dưới:

Bài đăng này sẽ hiển thị cấu hình chính xác mà bạn cần để thực hiện những gì bạn muốn. Notify AssignedTo user of new work (for a specific TFS project)

Các vấn đề liên quan