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.
Adding a Repository
When you add a repository to a team, you configure how deployments are tracked for that repo:
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
Setup
- (Azure DevOps) Verify the integration token includes the Build (Read) scope - see the warning above.
- Open Team Controls, expand the repository, and switch Deployment Mode to Pipeline deployments.
- Set Prod Branch Patterns to the branches your production pipeline deploys from (e.g.
^releases/.*$). - Set Prod Stage / Environment Patterns to match your production stage or environment names. The default
(?i)prodcovers any name containing “prod”; use^production$for an exact match. - (Azure DevOps, optional) Restrict to specific pipelines with Pipeline IDs.
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 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
- 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.

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.
- Total deployments in the selected date range
- Average deployments per day, per week, and per month
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.
- Average and median lead time across all merged PRs in the period
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
- 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.)
(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.
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.
- 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
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:

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
How It Works
- Connect Repositories: Link your Git repositories (GitHub, GitLab, Bitbucket, or Azure DevOps) to CodeAnt AI.
- Create a Team: Group repositories that belong to a team or service area.
- Configure Production Branches: Set regex patterns for each repository to define which branches represent production.
- 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.
- 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.
- View Metrics: Open the DORA Metrics dashboard, select your team and date range, and view all four metrics with ratings, trends, and drill-downs.
- Drill Down: Click into any metric to see the individual PRs, deployments, failures, or incidents that contribute to that metric.
- Track Improvement: Use trend comparison and historical data to track how your metrics evolve over time and benchmark against industry standards.