Skip to main content

Overview

CodeAnt AI’s DORA Metrics feature provides comprehensive insights into your software delivery performance using the four key metrics established by the DevOps Research and Assessment (DORA) team. These metrics help you measure, benchmark, and improve your engineering team’s effectiveness and delivery capabilities. Metrics are automatically benchmarked against industry standards across four performance levels: Elite, High, Medium, and Low. Each repository tracks deployments in one of two modes: See Pipeline Deployment Mode for setup.

Supported Providers

DORA Metrics are available for the following Git providers:

Team Control

Teams in DORA Metrics are collections of repositories grouped together for aggregated metrics tracking. A team allows you to view combined DORA metrics across all repositories within it, or drill down into individual repository performance while preserving team-level configuration.

Creating a Team

Navigate to the DORA Metrics section and click Create Team to set up a new team. Create Team dialog When creating a team, you configure the following fields:

Adding a Repository

When you add a repository to a team, you configure how deployments are tracked for that repo: Add repository with prod branch patterns A team can freely mix modes - some repositories merge-based, others pipeline-based. Each metric uses the right data source per repository, and the dashboard descriptions adapt to the selected scope.

Pipeline Deployment Mode

Switch a repository to Pipeline deployments when merges and deploys are not the same event - for example, a release branch that accumulates many PRs and then ships once from a pipeline. In this mode, Deployment Frequency, Change Failure Rate, and MTTR are computed from your actual CI/CD deployments instead of merged PRs.

Provider support and requirements

Azure DevOps: the token must include the Build (Read) scope. CodeAnt reads pipeline runs through the Azure DevOps Builds API, which requires Build (Read) in addition to the Code scopes used for PR reviews. Tokens created only for code access will return 401 on the Builds API - the symptom is that PR reviews keep working normally while pipeline mode shows zero deployments.To fix it:
  1. Create a Personal Access Token that includes Build (Read) alongside your existing Code scopes (or edit the existing PAT’s scopes).
  2. Update the access_token parameter in your CodeAnt service-hook URLs (Azure DevOps Project Settings → Service Hooks) with the new token, on every project connected to CodeAnt.
Deployments start appearing on the next collection cycle - no other reconfiguration is needed.

Setup

  1. (Azure DevOps) Verify the integration token includes the Build (Read) scope - see the warning above.
  2. Open Team Controls, expand the repository, and switch Deployment Mode to Pipeline deployments.
  3. Set Prod Branch Patterns to the branches your production pipeline deploys from (e.g. ^releases/.*$).
  4. Set Prod Stage / Environment Patterns to match your production stage or environment names. The default (?i)prod covers any name containing “prod”; use ^production$ for an exact match.
  5. (Azure DevOps, optional) Restrict to specific pipelines with Pipeline IDs.
Deployment data for team repositories is collected continuously regardless of mode, so switching a repository to pipeline mode shows its deployment history immediately. Stage and branch patterns are applied at read time - changing them takes effect on the next dashboard refresh, with no re-ingestion needed.
Azure DevOps notes: single-stage YAML pipelines report one implicit stage named __default - use __default (or .*) as the stage pattern for those. Historical coverage is limited by Azure DevOps build retention (about 30 days by default unless runs are retained); days already collected are kept by CodeAnt even after Azure DevOps purges the runs, so coverage accumulates forward from enablement.

Managing Teams

The Team Controls page lists all your teams with their repositories, branch rules, and status at a glance. Team Controls table Each row shows:
  • Team Name and description
  • Repositories & Branch Rules - the repos in the team along with their configured production branch patterns
  • Status - Active or Inactive
  • Actions - View metrics, edit, or delete the team
From this page you can:
  • Add repositories to an existing team
  • Remove repositories from a team
  • Update repository config - change the production branches or deployment type for a specific repository within the team
  • Edit team details - update the team name, description, or active status
  • Delete a team - delete the team

DORA Dashboard

CodeAnt AI computes all four standard DORA metrics. Each metric is rated against industry benchmarks and includes trend comparison against the previous period of equal length.

Composite DORA Score

The overall DORA score is the average of all four individual metric ratings, converted to a numeric scale: The composite score is calculated by averaging the four scores and rounding to the nearest level. For example, if your metrics rate as Elite (4), High (3), Elite (4), and Medium (2), your composite score would be 3.25 - rated High. The dashboard displays your composite DORA score alongside all four metric cards, each with its rating, trend, and daily chart. DORA Metrics dashboard

Deployment Frequency

What it measures: How often your team successfully deploys code to production. What counts as a deployment depends on the repository’s deployment mode:
  • Merge-based: a pull request merged into a production branch. Note this is a proxy - a release branch that takes many merges but ships once will over-count.
  • Pipeline: a successful run of a production pipeline stage / environment (matching the configured stage patterns) on a production branch. Re-deploys with no new merges count; merges that haven’t shipped yet don’t.
How it’s calculated:
  • Total deployments in the selected date range
  • Average deployments per day, per week, and per month
Performance Ratings: Dashboard view:
  • Summary card showing total deployments, daily/weekly/monthly averages, and rating
  • Daily trend chart showing deployment count per day over the selected period
  • Trend comparison (up/down/flat) against the previous period

Lead Time for Changes

What it measures: The time from first commit to production deployment - DORA’s change lead time. Lead time tracks the full lifecycle of a change, starting from the first commit on the pull request branch:
  • Merge-based repositories: lead time ends when the PR is merged into a production branch (merge is the deployment event).
  • Pipeline repositories: lead time ends at the first successful production deployment that shipped the change, so the merge-to-deploy gap is included. Changes merged but not yet deployed count up to merge only.
How it’s calculated:
  • Average and median lead time across all merged PRs in the period
Performance Ratings: Lead Time Stages: Lead time is broken down into five stages, giving you visibility into where time is spent in your delivery pipeline: Each stage reports average and median values in both seconds and hours. Distribution Buckets: The lead time distribution shows how your PRs are spread across time buckets:
  • Less than 1 hour
  • 1 hour to 24 hours
  • 24 hours to 7 days
  • 7 days to 30 days
  • More than 30 days
Dashboard view:
  • Summary card with average/median lead time and rating
  • Daily trend chart showing average lead time per day
  • Per-stage daily breakdown charts
  • Distribution histogram
For Bitbucket and Azure DevOps, detailed review data (first response time, rework time, merge time) is loaded on-demand. Click Load review details on a specific PR in the drill-down to fetch and cache this data.

Change Failure Rate

What it measures: The percentage of deployments that fail or require immediate intervention after deploying (rollback or hotfix), per DORA’s change fail rate. What counts as a failed change depends on the repository’s deployment mode:
  • Merge-based: a revert PR - a pull request that reverts a previously merged change (detected from revert PR titles).
  • Pipeline: a production deployment that needed intervention, for any of three reasons:
    • the pipeline run failed,
    • the deployment was rolled back (a later deployment re-deployed an earlier commit), or
    • the deployment shipped a change that was later reverted. (If the revert ships in the same deployment, the bad change never went live and it is not counted.)
How it’s calculated:
  • (Failed changes / Total deployments) × 100
  • Pipeline repositories additionally report a Deployment Rework Rate: the share of deployments that were unplanned remediation - rollbacks and deploys that shipped reverts - per DORA’s instability guidance.
Performance Ratings: Dashboard view:
  • Summary card with CFR percentage, total and failed deployment counts, and rating
  • Daily trend chart showing number of failures per day
  • List of failed PRs with links to the original reverted PR

Mean Time to Restore (MTTR)

What it measures: How quickly your team recovers from a failed deployment, per DORA’s failed deployment recovery time. How incidents and recoveries are defined depends on the repository’s deployment mode:
  • Merge-based: an incident is a revert PR; recovery time runs from the original (failed) PR’s merge to the revert PR’s merge.
  • Pipeline: an incident is a bad production deployment - a failed run, a rolled-back deployment, or a deployment whose changes were later reverted. Recovery time runs until the deployment that restored service: the next successful run of that stage, the rollback landing, or the revert reaching production. This captures roll-forward fixes and infra rollbacks that never touch git.
How it’s calculated:
  • Average and median recovery time across all incidents in the period
  • Only resolved incidents (those with a measurable recovery time) contribute to the average; unresolved incidents still count toward the incident total
Performance Ratings: Dashboard view:
  • Summary card with average/median MTTR and rating
  • Daily trend chart showing average recovery time per day
  • List of incidents with recovery time details

Drill-Down Charts

Each DORA metric provides a paginated drill-down view that lets you inspect individual pull requests and incidents. All drill-down tables support sorting and pagination.

PR Drill-Down (Lead Time)

View every PR merged during the selected period with its full lead time breakdown. Columns displayed: PR drill-down table Hover over the lead time value on any PR to see the full stage breakdown: Lead Time Breakdown hover tooltip

Deployment Drill-Down

View all deployments in the period. Every row is a deployment: pipeline-mode repositories show their production stage runs, merge-based repositories show one “Merge deployment” row per merged PR. Columns displayed:

Failure Drill-Down

View all failed changes: revert PRs (merge-based repositories) and production deployments that needed intervention (pipeline repositories). Columns displayed:

Incident Drill-Down

View all production incidents with recovery time details. Incidents are revert PRs (merge-based repositories) or bad production deployments (pipeline repositories - failed runs, rollbacks, and later-reverted changes). Columns displayed:

Filters

DORA Metrics support filtering at multiple levels to help you focus on the data that matters.

Team-Level Filters

Repo-Level Filters

Drill-Down Filters

All drill-down views support:

Trend Comparison

Every metric automatically includes a trend comparison against the previous period. If you select a 30-day window (e.g., Feb 1 – Mar 2), the previous period is the 30 days immediately before (Jan 2 – Jan 31). Trends show:
  • Direction: Up, down, or flat
  • Change percentage: How much the metric changed compared to the previous period
  • Previous value: The metric value from the prior period
This helps you quickly understand whether your team’s delivery performance is improving, declining, or holding steady.

How It Works

  1. Connect Repositories: Link your Git repositories (GitHub, GitLab, Bitbucket, or Azure DevOps) to CodeAnt AI.
  2. Create a Team: Group repositories that belong to a team or service area.
  3. Configure Production Branches: Set regex patterns for each repository to define which branches represent production.
  4. Choose a Deployment Mode: Keep the default merge-based mode, or switch repositories whose deploys are pipeline runs to Pipeline Deployment Mode and configure stage / environment patterns.
  5. Automatic Data Collection: CodeAnt AI continuously collects and caches merged PR data and, for team repositories, CI/CD deployment records - no changes to your pipelines required.
  6. View Metrics: Open the DORA Metrics dashboard, select your team and date range, and view all four metrics with ratings, trends, and drill-downs.
  7. Drill Down: Click into any metric to see the individual PRs, deployments, failures, or incidents that contribute to that metric.
  8. Track Improvement: Use trend comparison and historical data to track how your metrics evolve over time and benchmark against industry standards.