I wrote a TeamCity plugin that allows you to post notifications to Microsoft Teams. Open source, based on tcSlackBuildNotifier. Please use and contribute!
If you really care…
IRC is back, baby! Well, not exactly. Corporate messaging applications like Slack and Microsoft Teams are becoming fairly commonplace in companies big and small. They allow for your standard one-on-one messaging, but their draw comes in the form of channels for hosting and storing long-running chatter (IRC!), forming one-off group chats for large and small projects or incidents, hosting video calls in both individual and group context, and generally being the “go to” application for communication within the company. Additionally, most of these applications have a fairly robust API layer and plugin framework to allow those of us with the desire to do it a chance to integrate with the platform.
A few years ago, my current company started with the free version of Slack. As part of that, we used the tcSlackBuildNotifier plugin to allow TeamCity to post to Slack channels as a notification avenue. The Slack implementation, however, was done through what could affectionately be referred to as “back channels:” A group signed up for it to use for their own purposes and it exploded from there. It was not long before we had outgrown the free version and were looking to purchase licenses.
We ran into two problems: Slack is expensive for our company size, and as part of our agreements with Microsoft (specifically, Office 365), we already had access to Microsoft Teams. After a lot of futile arguments from some of those using Slack, we went with Teams as our official company communication platform.
My problem was that I couldn’t find a similar notification tool for Teams that we had for Slack, and my team and I really liked having the build notifications posted to the channels. It allowed us a quick notification when something failed or succeeded after failure.
So, I took the tcSlackBuildNotifier and modified it to allow for posting to Microsoft Teams. It is my first foray into Maven and what amounts to a re-introduction to Java, but it gets the job done. I will not be terrible active in maintaining it: if something breaks I will fix it, but I don’t anticipate new features coming out. So, if you use TeamCity and Microsoft Teams, try it out!