How we are improving notifications in Team Services
Good communication is an essential ingredient to any successful development project. Whether the team is small or large, keeping everyone on the same page and informed as the project progresses helps reduce last minute surprises and ensures a smoother process overall.
Notifications, whether they arrive via email, Microsoft Teams, Slack, or some other system, push relevant information to recipients. Recipients don’t need to periodically check for new information; the information arrives when the recipient needs to be told something or when their action is required.
We have been working hard on features for Team Services that help ensure the right information is delivered to the right people at the right time. We are focused on …
- Scale and performance: we made significant improvements to the overall performance of the pipeline. This includes faster processing of events and faster delivery of email and service hook notifications. This work was essential to ensuring notifications arrive in a timely manner, especially as the volume of activity increases and we add new and better ways for users to get notified.
- Great out of the box experience: we want users to get notified about relevant activity in their projects, without them needing to do anything. This resulted in a set of new features including out of the box subscriptions and new delivery options for team subscriptions. These features will be enough for most users. If users or admins want to receive notifications about other activity, they can still do this via custom subscriptions.
- Extensibility: delivering useful notifications for version control, Agile, build and release, is an obvious requirement, but Team Services is more than just the parts we build. Team Services is a platform that has a great set of core services, but is then extended through third-party extensions and integrations (see the Visual Studio Marketplace). We overhauled our notification services to be extensible and many of our own services now plug into the same extensibility points that third-parties will soon be able to plug into. This will enable third-party extensions and integration to publish events that can be delivered through various channels including email, Teams, Slack, and more.
Here is a quick recap of some of the recent features we delivered. You may recognize some of this text from recent release notes, which I generously borrowed from. Note: the features discussed here are available now for Team Services and in Team Foundation Server 2017 Update 1 or later. You can learn more about notifications in earlier versions of TFS here.
Better configuration UI
It is now easier to manage what notifications you and your teams receive. Users now have their own account-level experience for managing notification settings (available via Notification settings in your profile menu).
This view lets users manage personal subscriptions they have created. It also shows subscriptions created by team administrators for all projects in the account.
Learn more about managing personal notification settings.
New delivery options for team subscriptions
Team administrators can manage subscriptions shared by all members of the team in the Notifications hub under team settings. Two new delivery options are now available when configuring a team subscription: send the email notification to a specific email address (like the team’s distribution list), or send the notification to only team members associated with the activity.
Learn more about managing team subscriptions.
Out of the box notifications (preview)
Prior to this feature, users would need to manually opt in to any notifications they wanted to receive. With out-of-the-box notifications (which currently must be enabled by an account administrator), users automatically receive notifications for events such as:
- The user is assigned a work item
- The user is added or removed as a reviewer to a pull request
- The user has a pull request that is updated
- The user has a build that completes
These subscriptions appear in the new user notifications experience, and users can easily choose to opt out of any of them.
To enable this feature for the account, an account administrator needs to go to Preview features under your profile menu, select From this account from the drop-down, then toggle on the Out of the box notifications feature.
Learn more about out of the box notifications.
Delivering certain notifications to all team members (preview)
Working with pull requests that are assigned to teams is getting a lot easier. When a PR is created or updated, email alerts will now be sent to all members of all teams that are assigned to the PR. This feature is in preview and requires an account admin to enable it from the Preview features panel (available under the profile menu). After selecting for this account, switch on the Team expansion for notifications feature.
Other stuff we are working on
We are already working on (or about to start on) a number of new features, not all of which I can disclose right now. Here are a few features we are working on:
- Multiple recipients on the same email. Today when a particular email notification is sent to multiple users, each user receives an individual email. This makes it hard to know who else received the email and to have a conversation with the other users about the email’s contents. With this feature, a single email will be sent with each of the users on the TO line.
- Improved custom subscription experience. It is not always easy to create a custom subscription today, especially one involving multiple conditions, with ANDs and ORs. We are planning to rebuild this experience to make it much simpler, but just as powerful (for those users that want the power).
Your feedback is important to us. Use the “send a smile” feature, comment on this post, or send to email@example.com.