Уведомление по электронной почте TFS

Когда я добавляю ошибку (рабочий элемент) в TFS и назначаю ее пользователю, я хочу, чтобы этому пользователю было отправлено электронное письмо.

Кроме того, если существующая ошибка имеет измененный «Кому назначено», я хочу, чтобы этот пользователь получил электронное письмо. Можно ли отправлять оповещения пользователям, когда им назначены измененные ошибки в TFS 2008?


person ijuyee    schedule 17.11.2009    source источник


Ответы (4)


По крайней мере, в VS 2005 в меню Team вы найдете элемент Project Alerts..., который позволяет пользователям указывать адрес электронной почты, который будет уведомлен, когда My work items are changed by others охватывает обе упомянутые вами ситуации. Я предполагаю, что в VS 2008 будет нечто подобное.

person AakashM    schedule 18.11.2009
comment
только что проверил, и VS2008 действительно имеет тот же диалог, хотя параметры оповещения, по-видимому, ограничены тем, что мои рабочие элементы изменяются другими, все проверяется, изменяется качество сборки и сборка завершается. - person Conan; 29.01.2010
comment
Я не знаю, наше ли это развертывание, но любые уведомления через Project Alerts сильно задерживаются. Иногда для получения уведомлений требуется более 24 часов, что противоречит цели... - person Frank V; 04.04.2014

К сожалению, в TFS нет ничего готового, чтобы это можно было сделать без вмешательства получателя. Комментарий Ричарда Эва может работать, но не совсем устойчив. Каждый человек должен создать это или вам нужно сделать это для них и продолжать делать это для всех новых членов команды.

Вместо этого вам лучше создать подписчика событий. Вот очень полезный пост 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);
                }
            }
person Ryan Cromwell    schedule 17.07.2012

В VS 2010, если у вас есть Электроинструменты TFS 2010 установлен, вы можете перейти в меню Команда и выбрать Обозреватель предупреждений. Это позволит вам создавать новые оповещения.

person Richard Ev    schedule 16.07.2012
comment
Вы правы, Ричард, проблема в том, что эти оповещения в основном доступны для нескольких ограниченных условий, а также для определенных правил, назначенных мне / имени пользователя. Его нужно настроить для каждого пользователя. Это имеет свои преимущества для самоуправляемых оповещений, но если вы хотите отправлять настраиваемые оповещения нескольким пользователям, я бы все же предложил решение CodePlex — Team Alert, ссылка на которое приведена выше. - person Neville; 07.11.2013

Я знаю, что ваш пост за 2008 год, но это старый пост, и, надеюсь, вы сейчас в 2010 году. Для TFS 2010 теперь есть простое решение с помощью подключаемого модуля, который можно загрузить с сайта CodePlex — Team Оповещение

Это простое решение для копирования и вставки, которое может занять у вас 5 минут, чтобы установить его с помощью извлечения конфигурации, указанного в сообщении ниже:

В этом посте будет показана точная конфигурация, необходимая для выполнения того, что вы хотите. Уведомлять пользователя AssignedTo о новой работе (для определенного проекта TFS)

person Neville    schedule 31.07.2012