2012-02-29 12 views
7

Czy to możliwe? Ja i jeden z moich współpracowników szukamy teraz tego rodzaju rozwiązania i nie możemy znaleźć niczego podobnego w Google.TFS Zbuduj powiadomienia e-mail do użytkownika [Requested By]

Rzecz jest prosta. Chcemy automatycznie powiadamiać użytkownika [Requested By] przez e-mail, gdy on lub ona przerwie kompilację na TFS 2010. Jak to zrobić, musi być jakieś rozwiązanie, Microsoft nie może zapomnieć o jednej z najprostszych funkcji, które mogą być dodano ...

Dziękuję za odpowiedzi. Jeśli potrzebujesz więcej wyjaśnień na temat mojego pytania, zapytaj!

Odpowiedz

5

Możesz to zrobić, ale musisz dostosować proces budowania lub korzystać z usług sieciowych, zrobiłem to, dostosowując proces budowania. Użyłem listy użytkowników z associatedChangesets zamiast żądanej przez.

  1. Uzyskaj TFS Build Extenstions.
  2. Otwórz szablon procesu kompilacji (przewodniki here i here).
  3. Przejdź do sekcji "Jeśli wystąpił wyjątek kompilacji".
  4. Przeciągnij w polu "E-mail" z "rozszerzeń TFS Build".
  5. W polu "Do" wprowadź następujący VB.Net:

Do:

New String() { _ 
    DirectCast(
     New System.DirectoryServices.DirectorySearcher(_ 
     String.Format("(&(objectClass=user)(|{0}))", BuildDetail.RequestedBy)) _ 
     .FindOne(), SearchResult) _ 
     .Properties("mail")(0).ToString() _ 
} 

6: Wypełnij resztę pól w działalności e-mail.

+0

Dzięki, to szwy być nasze rozwiązanie. Nadal próbuję dowiedzieć się, jak mogę poprawnie użyć tego kodu. Nasz kontroler domeny wymaga uwierzytelnionych powiązań, więc do uzyskania informacji o użytkowniku potrzebuję użyć konta użytkownika i hasła. Jak widzę, nie ma takich powiązań w kodzie, który właśnie mi dałeś. Próbowałem odtworzyć to samo pod C#, ale nie mogę ... Nie znajduję podobny sposób w C# używać DirectCast ... Jeszcze raz dziękuję za pomoc! – DaveWut

+0

Jak już stwierdziłem, kod ten został przeniesiony z bardziej złożonego rozwiązania, więc może nie działać. Zauważyłem, że sposób zakładania, aby wyrażenie było prawidłowe, to użycie Linqpad. Nie sądzę, że potrzebujesz DirectCast w Normal C#, ale jest potrzebny w VB Expression, ponieważ Windows Workflow ma "Option Strict On". – DaveShaw

1

Można zainstalować TFS power tools i użyć alerts explorer do skonfigurowania powiadomień e-mail. Nie jest to idealne rozwiązanie, ponieważ uważam, że każdy programista musi skonfigurować własny alert, ale jeśli to tylko 2 z was, które nie powinny być problemem, to nie powinno być problemu.