Keptn now talks MS Teams: How we expand Keptn’s footprint in the Microsoft world

Rob Jahn
keptn
Published in
4 min readAug 8, 2019

--

You may have heard about project Keptn (pronounced “Captain”), but if not Keptn is an open source project my colleagues from the Dynatrace Innovation Lab have been leading and working on for the last few months.

Project Keptn comes from our desire to build an enterprise scale platform that can demonstrate use cases related to automated software delivery and autonomous self-healing operations.

Keptn can be deployed to several Kubernetes platforms and orchestrates Continuous Delivery (CD) stages and tasks using Keptn services, Keptn events, and Keptn control plane as shown below.

Keptn Control Plane and Services

Keptn services provide actions like deployment, testing, chat client notifications and act upon Keptn events such as configuration changed, problem detected, and new artifact. Keptn services are intended to be loosely coupled, mixed and matched, depending on the requirements.

Here we’ll delve into an overview of a new Keptn notification service for Microsoft Teams that myself and Dynatrace colleague, Mike Beemer, developed and how you can install and try it out for yourself.

Why Microsoft teams?

A recent article reports that Collaboration software spending is set to hit $45B, due to an increase in demand for team chat apps. Backing up this claim, is the latest figures from Microsoft as the company shared shared that their Microsoft Teams app has overtaken Slack, with a total of 13 million daily users in over 500K organizations.

Enabling teams to collaborate and work together with capabilities such as group chats, online meetings, calling, and web conferencing from a single app many organizations are seeing the benefits from apps such as Microsoft Teams. Operating from a single system is bringing time, and cost, savings to business and increasing efficiency — all key ingredients needed for a productive DevOps team.

So, what does this have to do with project Keptn?

Microsoft Teams and Keptn

As mentioned above, Keptn is designed to have configurable tooling for each Keptn implementation. The diagram illustrates one example Keptn setup using a GitHub, Helm, JMeter, Pitometer and our new Keptn notification service for Microsoft Teams.

MS Teams integration with Keptn notification service

As the deployment pipeline runs, various Keptn events like “new artifact” or “deployment complete” will be created by the Keptn services. The Keptn notification service is listening for these events and will send them over to the configured MS Teams channel.

Microsoft Teams and Keptn notification service setup

Firstly, you will need to install Keptn and have an application on-boarded. If you are just getting started, then checkout my other blog On-boarding your custom application to Keptn”.

Secondly, you need to configure and deploy the Keptn notification service following these steps :

  1. In Microsoft Teams, choose “create a team” and call it “keptn”
  2. In the new team, add a new channel called “keptn notifications”
  3. In the new channel, add a new connector of type “Incoming Webhook”. Name it “keptn webhook” and save channel URL for the next step.
  4. Make a copy of the Keptn Notification service “notification-distributors.yaml” and the “notification-service.yaml” Helm Charts found in this repo. In the “notification-service.yaml” file, adjust the environment variable “TEAMS_URL” with the MS Teams channel URL from the previous step
  5. Run “kubectl apply -f <YAML file>” for both Helm Chart files to deploy the service
  6. Now run a Keptn pipeline and watch for the notifications in your MS Teams channel
  7. That’s it !

Watch this short YouTube video that demonstrates this setup and the Keptn notifications in action.

https://youtu.be/T-qTVht4yI8

Whats next

One of our ideas include having configurable Keptn event subscriptions by Keptn project and environment, but we need feedback. So give it a try, fork the code, and add your enhancement ideas as a GitHub issue.

Read and find out more about Keptn on the Keptn website , and check out the Continuous Delivery without pipelines — How it works and why you need it Keptn blog for a more in-depth overview of the Keptn internals and follow the Keptn Medium publications.

--

--

Rob Jahn
keptn

Tech Partner Solutions Advocate at Dynatrace software