How to avoid being flooded by notifications in Azure DevOps
Photo by jonathan Ford on Unsplash
One of the common issues among developers in our organisation is the notifications from Azure DevOps. We get so many that they often go unnoticed or ignored, which leaves others waiting for responses to a Pull Request. I have compiled up a few hints to help reduce the torrent that is Azure DevOps Notifications.
The problem with notifications
By default, Azure DevOps sets up a series of global notification subscriptions that are the defaults for every user. These basically equate to “Notify ALL THE THINGS!”
This can be problematic when:
Global notifications can be found at
https://dev.azure.com/{account-name}/_settings/notifications
- Branches have a short lifespan and a lot of Pull Requests are generated
- Branch policies on the destination have builds related to them
- Your Development team grows, and more Pull Requests are being generated
This can then equate to a massive amount of emails in your inbox. In our small team we struggle to deal with the quantity of notifications, and often notifications are missed which means the most effective method to letting someone know you need something (like a PR approval) is to stand up and tell them. This sucks as you don’t want to break their concentration and invites context switching issues.
Dealing with it
You have a few options here:
- Minimise the quantity of notifications to your inbox
- Group your emails as conversations to hide the impact on your inbox
- Use Outlook rules to manage your inbox
- Use Service Hooks to send yourself a message on Microsoft Teams (or Slack)
These can be done in any combination, whatever works best for you.
Minimise the quantity of notifications
Regardless of what result you want, you probably can reduce the amount of notifications you care about in the first place. Under your profile picture in the top corner of Azure DevOps, you can go to Notification Settings to manage what you as an individual want to see.
You can also find it at
https://dev.azure.com/{account-name}/_usersSettings/notifications
What you see here is a list very much like the global notification subscriptions, but there is an additional column labelled “State” that allows you to disable any of the notifications you don’t want.
Woo!
If you do, however, want to get those notifications but just want to limit them somewhat, you will annoyingly need to disable the global subscription and create a new subscription emulating the global with the changes you want. There is currently no way to clone a global subscription either, you will need to copy field by field.
I am not going to go through full details on how to create a new subscription, it’s relatively straight-forward and the official docs can tell you, but some suggestions where to filter would be setting to A specific team project and using the Event type field to only know about the events you care about.
For me, the mass amount of email notifications are specific to Pull Requests. One option is to disable all PR notifications, and just access the Pull Requests page page periodically.
Pull requests for all projects
https://dev.azure.com/{account-name}/_pulls
Email grouped as conversations
This way, ALL emails relating to a Pull request display as a single email, and I know that I need to do something with the PR.
This is my favourite way to deal with email notifications, as I don’t ever care about the content of the email, I just know I need to check out the PR.
If you use Outlook Web, you can find this setting via the cog icon in the top right > View all Outlook settings and then Mail > Layout > Message organization
If you use Outlook for the desktop, right-click on a blank space, select Arrange By and ensure Show as Conversations is ticked.
Changing this setting does affect your whole inbox though, which may be too dramatic a change for you.
Outlook rules
These are good in a few ways:
- Rather than putting in customised notifications in Azure DevOps, you can create a rule to delete an email that has specific text; this does however rely on the content of the email not changing, which you have no guarantee on
- You can move all the Azure DevOps emails to a separate folder, not filling up your inbox; if you are using Outlook Desktop, you can also group as conversation just on that folder (it doesn’t look like you can do this on Outlook web yet).
Connectors to your your favourite chat app
For those using Microsoft Teams, you can set up a connector to receive updates from Azure DevOps. The connector can be set to a specific project, team (Azure DevOps team, not Microsoft Teams team), and events (like PR updated, build complete). This is not personal notifications though, and will affect the whole team (Microsoft Teams team, not Azure DevOps team). I would suggest you set this up on a dedicated Team Channel so people can not see it if they don’t want to.
There is also guidance on how to send notifications to Slack using Service Hooks. These notifications will still be generalised (i.e. PR updated, build complete) and not filterable on specifics, but I believe you can still set up a webhook URL to just ping yourself (I didn’t actually check this).
Did I miss something?
Let me know! The onslaught of notifications one can get is a problem, even for small teams, and any more ideas would be great.