Skip to main content

Azure DevOps

Health CheckPlaybookScraper

Mission Control integrates with Azure DevOps to monitor pipelines and trigger builds.


Health Check

Use cases:

  • Monitor pipeline run status and detect failures
  • Track build duration and identify slow pipelines
  • Filter pipeline status by branch, variables, or naming patterns

Pipeline Status Check

Monitor Azure DevOps pipeline runs and validate their status.

ado-pipeline-check.yaml
apiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
name: ado-pipeline
spec:
interval: 300
azureDevops:
- name: production-deploy
organization: your-org
project: your-project
personalAccessToken:
valueFrom:
secretKeyRef:
name: ado-credentials
key: token
pipeline: Production-Deploy
branch: main
result: succeeded
Pipeline Duration Threshold
ado-duration-check.yaml
apiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
name: ado-build-time
spec:
interval: 600
azureDevops:
- name: build-duration
organization: your-org
project: your-project
personalAccessToken:
valueFrom:
secretKeyRef:
name: ado-credentials
key: token
pipeline: CI-Build
thresholdMillis: 600000 # Alert if build takes > 10 minutes
Pattern Matching
ado-pattern-check.yaml
apiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
name: ado-release-pipelines
spec:
interval: 300
azureDevops:
- name: release-status
organization: your-org
project: your-project
personalAccessToken:
valueFrom:
secretKeyRef:
name: ado-credentials
key: token
pipelinePattern: "^Release-.*" # Monitor all release pipelines
result: succeeded

Playbook

Use cases:

  • Trigger pipeline runs from playbooks for CI/CD automation
  • Automate deployments based on events

Basic Pipeline Trigger

ado-playbook-action.yaml
apiVersion: mission-control.flanksource.com/v1
kind: Playbook
metadata:
name: deploy-via-ado
spec:
parameters:
- name: environment
label: Target Environment
type: list
properties:
options:
- dev
- staging
- production
actions:
- name: trigger-deploy
azureDevopsPipeline:
organization: your-org
project: your-project
personalAccessToken:
valueFrom:
secretKeyRef:
name: ado-credentials
key: token
pipeline: Deploy-Pipeline
parameters:
environment: "{{.params.environment}}"
Pipeline with Version
ado-versioned-pipeline.yaml
apiVersion: mission-control.flanksource.com/v1
kind: Playbook
metadata:
name: rollback-deployment
spec:
actions:
- name: trigger-rollback
azureDevopsPipeline:
organization: your-org
project: your-project
pipeline: Rollback-Pipeline
version: "{{.config.config.metadata.labels.version}}"

Scraper

Use cases:

  • Scrape pipeline and project configurations into the catalog
  • Track pipeline configurations and changes
ado-scraper.yaml
apiVersion: configs.flanksource.com/v1
kind: ScrapeConfig
metadata:
name: ado-pipelines
spec:
schedule: "@every 1h"
azureDevops:
- organization: your-org
personalAccessToken:
valueFrom:
secretKeyRef:
name: ado-credentials
key: token
projects:
- your-project

Next Steps