LogoLogo
Book a demoLog in
  • Swarmia documentation
  • Getting started
    • Get started in 15 minutes
    • Integrations
      • GitHub
        • GitHub Enterprise Server
        • Multiple GitHub organizations
        • Forked repositories
        • Troubleshooting
          • Reinstalling the Swarmia GitHub app
          • Updating app permissions
          • Installing Swarmia outside of GitHub Marketplace
      • Jira
        • Jira Server and Jira Data Center
        • Multiple Jira organizations
      • Linear
        • Private Linear teams
        • Disconnect Linear
      • Slack
        • Private Slack channels
      • Authentication
        • Google Single Sign-On
          • Frequently asked questions
        • Okta Single Sign-On
      • HR systems
      • Data export
        • Data cloud
        • Export data as a CSV file
      • Other integrations
        • Other issue tracker integrations
        • Other source code hosting integrations
  • Configuration and data quality
    • Teams & members
      • Creating & managing teams
        • Teams API
      • Contributors
      • Roles and permissions
      • Inviting team members
    • Issue tracker configuration
      • Jira configuration
      • Jira best practices
      • Linear configuration
    • Pull request exclusions
    • Linking pull requests to issues
    • Investment categories
    • Deployments
      • Generate deployments from merged pull requests
      • Generate deployments from GitHub deployments
      • Generate deployments from GitHub checks
      • Generate deployments via the API
        • Generate deployments for monorepos via the API
    • Sprint configuration
  • Use cases
    • Improve pull request flow
      • Pull request insights
      • Reducing pull request cycle time
      • Review code faster
      • Managing pull requests in progress with the Pull Request view
      • Diagnosing low pull request throughput
      • Analyzing pull request batch size
  • Improve your team's focus
    • Optimizing issue cycle time
    • Analyzing activity patterns on Work Log
    • Grouping activity on the Work Log view
    • Focus summary
  • Balance engineering investments
    • Activity and effort-based models
    • Categorizing work
    • Common problems with balancing engineering investment
  • Deliver strategic initiatives
    • Forecasting initiatives
  • Capitalize software development costs
  • Run developer experience surveys
    • Creating a survey
    • Managing surveys
    • Viewing and sharing survey results
    • How we show your survey responses
    • Survey communication guide and templates
  • Track DORA metrics
    • Automatic change failure detection
    • How Swarmia links PRs to deployments
  • Coach software developers
  • Get visibility into your CI pipeline
  • Continuous improvement
    • Working agreements
  • Notifications
    • Team notifications
    • Personal notifications
  • Retrospectives with Swarmia
  • Metrics & definitions
    • Pull request cycle time
      • What's the difference between "Change lead time" and "Pull request cycle time" metrics in Swarmia?
    • Issue cycle time
      • Defining issue lifecycle and cycle time
    • Developer effort (FTEs)
  • DORA metrics
    • Change lead time
    • Deployment frequency
    • Mean time to recovery
    • Change failure rate
  • Throughput
  • Time to deploy
  • Batch size
  • Flow efficiency
  • Scope creep
  • Sprints
  • Frequently asked questions
    • How do you treat weekends in metrics?
    • Tracking squashed commits
    • How do merge queues affect my metrics?
    • Why is my commit not visible in Swarmia?
    • How do I account for people leaving my organization?
  • Resources
    • Security & data retention
      • Data security
      • Data access
      • Swarmia IP Addresses
      • Single Sign-On (SSO) / SAML
      • Can I get a copy of the SOC 2 Type II audit report?
      • Deleting your organization
  • Pricing & plans
    • Compare plans
    • Free plan
    • Do I need a credit card to start a free trial?
    • What are the differences between the individual modules and the standard plan?
    • How do you determine the number of developers for billing?
    • What happens to customers with the Lite plan after the December 2024 pricing and plan change?
  • Changelog
On this page
  • About automatic change failure detection
  • Enabling automatic change failure detection
  • Rollback detection
  • Pull request revert detection
  • Advanced customization options
  • Pull request filters
  • Issue filters
  • Limitations

Was this helpful?

  1. Track DORA metrics

Automatic change failure detection

Automatically detect DORA change failures from application version rollbacks and pull request reverts.

PreviousTrack DORA metricsNextHow Swarmia links PRs to deployments

Last updated 16 days ago

Was this helpful?

About automatic change failure detection

When enabled, Swarmia automatically looks into every created deployment to see if it includes fixes to a previous change. When a fix is detected, Swarmia automatically records a change failure for the deployment that shipped the failing change to production.

Currently, automatic change failure detection supports identifying and .

Automatic change failure detection works with all available deployment sources.

Enabling automatic change failure detection

Automatic change failure detection is enabled by default for all new applications.

You can enable or disable automatic change failure detection by navigating to your application in and toggling the "Auto-detect change failures" checkbox.

Rollback detection

Rollback detection checks if the exact same version has been previously deployed to the same environment (e.g. production).

If Swarmia detects a rollback, a change failure is recorded to the first deployment after the deployment you rolled back to.

Pull request revert detection

To detect reverts, Swarmia checks if any of the pull requests included in your deployment were reverting a previously deployed pull request.

Swarmia first looks into all merge commit messages in the base branch to find a merge commit for a pull request that was reverted through the GitHub UI.

If none is found, we check pull request branch names (format: revert-PULL_REQUEST_NUMBER-) and descriptions (format: Reverts #PULL_REQUEST_NUMBER) for reverted pull request numbers.

If we find a reverted pull request, we record a change failure for the deployment where the pull request was deployed.

Advanced customization options

Swarmia supports two additional customization options, enabled on a customer-by-customer basis. These options are not available in the UI. Reach out to us at hello@swarmia.com with the rules you're looking to enable in your organization.

Pull request filters

You can identify change failures based on deployments linked to specific PRs using criteria like pull request title or branch name. Matching PR deployments will be considered fixes, marking the preceding deployment as a failure.

Issue filters

Similarly, it's possible to detect change failures in deployments linked to specific issues in your issue tracker using criteria such as issue title, label, or custom field. Matching deployments will be considered fixes, marking the preceding deployment as a failure.

Limitations

  • Automatic change failure detection only looks into the first 1000 commits per deployment. If your deployment includes more commits, those are not checked.

  • We record a single change failure per deployment. If your deployment includes fixes for multiple change failures, only one of them will be marked as failed.

For applications using the Deployment API, the payload you send must include commit and repository information. This data is automatically included if you have been using the examples from our latest .

documentation
Settings / Deployments
version rollbacks
pull request reverts