Recently Microsoft announced they have 13 million daily users in Teams outpacing Slack. You can read about this announcement here: https://www.theverge.com/2019/7/11/20689143/microsoft-teams-active-daily-users-stats-slack-competition. There are many reasons Microsoft Teams has seen tremendous growth since its launch. I use Teams daily across all of my projects. In this post, I am going to write about one that has been exciting and useful for me. In this post, I am going to explore the integration with Microsoft Teams and Azure DevOps.
Are you working on Azure? If so, you are probably working with ARM Templates for Infrastructure as Code (IaC). Azure DevOps can help you centralize DevOps teams IaC ARM Templates. In addition, you will want to use VS Code and Microsoft Teams. There are many extensions in VS Code for ARM Templates. With Teams, you can integrate with Azure DevOps to track commits, pull requests, and even 2-way integration with Kanban boards.
Within Microsoft Teams you can add what is called “Apps”. These Apps are how you extend Teams and or integrate with other systems. This is how you integrate with Azure DevOps. Before we dive into this there are two important prereqs to note.
#1 You can only integrate a Teams channel with Azure DevOps when they both exist in the same Azure Active Directory tenant organization.
#2 Your Teams needs to be a part of an Office 365 account. The free version of Teams does have an Azure Pipelines app but does not have the Azure DevOps app that gives you full 2-way integration. The Azure Pipelines app is for notifications while the Azure DevOps app is for full collaboration.
Here are the high-level steps to integrate a Teams channel with the Azure DevOps App.
In your Teams channel go to Manage Team and then click on Apps.
Click on More Apps.
Search for Azure DevOps and click on it.
Input your Teams channel in the field next to Add to a team and then click on Install. This will load the Azure DevOps app into your teams’ channel. Note this needs to be done for each teams’ channel if you want this integration across multiple channels.
Next click the Set up button next to the feature you want to configure and use. The following screenshot shows the 3 features available.
I am going to take you through each feature at a high level.
Pin content and services at the top of a channel. This feature basically allows you to pull in a Dashboard or Kanban board from your Azure DevOps project into Teams for easy access. Let’s take a look.
First, click on Set up next to Tab.
Now you need to select an organization.
An Azure DevOps window will pop-up prompting you to log in. You will then see a window like the one in the following screenshot with a drop-down of your available organizations. Select one and click Continue.
Next, you will be brought back to Teams where you can choose to add a Dashboard or Kanban board. In the following screenshot, we selected a Dashboard, a project, the team, and the actual dashboard we want to display.
After you click save you can see the Dashboard as a tab in your Teams channel. The following screenshot gives an example of what this looks like.
Ok, let’s take a look at what the Kanban board would look like. Like in the following screenshot from the Tab Set up this time we selected a Kanban board, a project, the team, and the Backlog level we want to display.
After you click save you can see the Kanban board as a tab in your Teams channel like in the following screenshot. The cool thing about this integration is that it is 2-way. So, you can actually update work items in the backlog directly from Teams.
Get notifications right in a channel. I am a huge fan of this feature. This feature basically will post notifications to the Teams channel for activity happening in your Azure DevOps repo such as commits, updates, pull requests, when branches are created and more. To get started with this one you would have clicked on Set up next to Connector after setting up the Azure DevOps app. You would then see the Connector configuration screen as shown in the following screenshots. This is where you would configure all the settings for the notifications you want to post in your teams’ channel and click save.
Here is a list what you can receive notifications on
The following screenshot shows what the notifications look like when posted to a Teams channel. The cool thing is the notifications contain links that will bring you directly Azure DevOps. You can reply to a notification to have a direct discussion on an event. This also is another place for history on what has occurred in an Azure DevOps project.
Include rich content in a conversation. The messaging integration is an easy way to add a work item into a channel’s conversation to discuss and collaborate on. The following screenshot shows that you can click on the Azure DevOps icon to display a pop-up window where you can search on work items. Once you click on the work item it will show under the conversations tab.
That wraps up this blog. I highly recommend you give the Azure DevOps and Teams integration for your next DevOps project. It will definitely enhance your collaboration experience.