Using Microsoft Teams: Tools for Developers
I got asked last week if I knew of any tools or materials around using Microsoft Teams apps for developer-centric workflows. Rather than reply to an individual, I thought I’d write the answer here instead.
There are a few different places to look for tools that can help development teams work more productively with Microsoft Teams.
Microsoft Teams Store Apps
Every development team uses a different set of tools for things like source control, application lifecycle management, deployment, managing stand-ups etc. If you already know the tools your team uses, it’s worth looking to see if there are Teams apps for these tools.
For instance, GitHub, Jira, Azure DevOps, Confluence, Bitbucket and Trello all have apps in the Teams app store.
There is actually a specific category in the Teams App Store called Developer Tools which contains over 15 (as I write this) tools, but be aware that inclusion in this category is likely something that would have to have been included with the app store submission, and there are many other apps (including some of the ones I mentioned above) which aren’t included in this category. It pays to search around!
The functionality of these applications will vary but they might include the ability to post notifications into specific channels at appropriate times (such as when a build fails) or give developers a way to quickly see committed work in the current sprint, burndown etc from within Teams, via a tab.
One of my favourite features of the Azure DevOps app is the Compose Extension which lets me search for and insert information about a work item when composing a new message:
Another good way to see what different applications are set up to post messages into channels is to browse available Connectors. From any channel in the main Teams menu, click the ellipses and choose Connectors to see a list of available connectors, each of which can be set up for whichever channel you wish. Again, there is a Developer Tools category here:
These tools can also be used to help automate the process of running a development team, especially remotely. For instance, an app called AgilePolly can make the stand-up process more asynchronous using a bot to collate responses:
App Templates for Microsoft Teams
Another place to look for workflow applications is the list of App Templates. This is an open-source, free-to-use collection of solutions and code samples provided by Microsoft and the community.
Specific to development workflows, the following App Template Code Samples may be useful:
Can’t find what you want? Build it yourself!
One of the simplest integrations in Microsoft Teams, but also one of the most useful, is the ability to post a message to a channel simply by calling a URL endpoint. If you can’t find a way of integrating your existing Continuous Integration (CI) / Continuous Deployment (CD) pipeline into Microsoft Teams then this approach might help you out of a bind.
Here’s a video I recorded a few years ago which talks about, and then demos, creating one of these notification URLs and calling it using PowerShell. You can adapt this to your own scenario as needed: