Azure DevOps Keptn Integration
Integration of Keptn within your Azure DevOps pipelines.
This extension includes 4 tasks which can be used to integrate your pipeline with Cloud Automation Keptn capabilities.
You can find out the latest release on the VisualStudio Marketplace.
This integration aims to be compatible with Keptn 0.9.x towards 0.19.x and higher For more information, please take a look at CHANGELOG.md.
The service endpoint
All you need to configure is the API endpoint and the token. Note that the api endpoint structure has changed from version 0.7 from keptn onwards.
Prepare Keptn environment
Creation of a Keptn project with compatible shipyard is not a part of this extension anymore. It is recommended to use the Keptn CLI/API/UI for project setup.
This task is optional, but very usefull since it prepares a service inside the project. It also puts these entities as variables on the pipeline for later use by the other tasks. Optionally you can also configure monitoring here and push an sli and slo file to Keptn.
It's not in the screenshot, but there is also a section where you could configure monitoring via Dynatrace or Prometheus and upload an sli and slo file. See https://keptn.sh/docs/concepts/quality_gates/ for more details on Service Level Indicators and Service Level Objectives.
Send Keptn event
The main task in this extension.
configuration-changed (deprecated) requires some extra parameters:
deployment-finished (deprecated) requires some extra parameters:
evaluation requires some extra parameters:
delivery asks for some extra parameters:
generic only asks for a:
All of the types above, except generic sinds you control it all, are sending labels to Keptn as well to provide extra context. The default labels are:
Wait for Keptn event
This task listens for some time for a specific Keptn event. It supports evaluation, delivery as wel as a generic event and you can provide your own sequence name. It waits for a configurable amount of minutes. Prerequisite of this task is the Send Keptn Event task which puts the keptnContext as a variable on the pipeline. This task uses this variable to capture the result.
For evaluation you can configure what should happen with the pipeline on a warning or fail from keptn. In this case it will give a warning whenever the lighthouse service did not indicate a 'pass'. So both warning as fail in Keptn will result in a 'succeeded with issues' here.
The JSON string of the resulting event is published as variable "keptnEventData" so you can use it in whatever tasks you want later in the pipeline.
Add Keptn resource
Although you can add the SLI, SLO and Dynatrace config files via the Prepare Keptn Environment task, there might be cases where you need to push additional files to Keptn. I am thinking about JMeter scripts for example or other config that can be used by Keptn services. That's when you could use this additional task.
A list of use-cases and features that this library supports is provided in FEATURES.md.
Development Docs are available in README_DEV.
License and Credits
Initially created by
Also available via the Visual Studio MarketPlace: https://marketplace.visualstudio.com/items?itemName=RealdolmenDevOps.keptn-integration