{"version":1,"pages":[{"id":"SpCN5tzxEz0I85Tb0NZO","title":"Trunk Platform","pathname":"/","siteSpaceId":"sitesp_2t3CX","description":"Ship Software as Fast as AI Writes It","breadcrumbs":[{"label":"Overview"}]},{"id":"7E2QSGeQ5ajDmV0BpQfT","title":"Overview","pathname":"/merge-queue/merge-queue","siteSpaceId":"sitesp_2t3CX","description":"Merge queue that guarantees branch stability and accelerates development at enterprise scale","breadcrumbs":[{"label":"Merge Queue"}]},{"id":"K5G02TXlr4rcIqNg6FZy","title":"Getting Started","pathname":"/merge-queue/getting-started","siteSpaceId":"sitesp_2t3CX","description":"Set up Trunk Merge Queue for your repository by installing the GitHub App, creating a queue, and configuring branch protection.","breadcrumbs":[{"label":"Merge Queue"}]},{"id":"k42NyjX4EZrIB0gznT5X","title":"Install and create your queue","pathname":"/merge-queue/getting-started/install-and-create-your-queue","siteSpaceId":"sitesp_2t3CX","description":"Install the Trunk GitHub App, connect your repository, and create your first merge queue.","breadcrumbs":[{"label":"Merge Queue"},{"label":"Getting Started"}]},{"id":"s8BDcL1TPNNHlBH5OvTm","title":"Configure branch protection","pathname":"/merge-queue/getting-started/configure-branch-protection","siteSpaceId":"sitesp_2t3CX","description":"Set up GitHub branch protection so Trunk Merge Queue can admit, test, and merge pull requests through your protected branch.","breadcrumbs":[{"label":"Merge Queue"},{"label":"Getting Started"}]},{"id":"zCOntvF0KfaznkJBDWl9","title":"Configure CI status checks","pathname":"/merge-queue/getting-started/configure-ci-status-checks","siteSpaceId":"sitesp_2t3CX","description":"Make sure your CI runs whenever Trunk Merge Queue tests a pull request.","breadcrumbs":[{"label":"Merge Queue"},{"label":"Getting Started"}]},{"id":"zEuZ4EpLegGC9GOCPDxY","title":"Test your setup","pathname":"/merge-queue/getting-started/test-your-setup","siteSpaceId":"sitesp_2t3CX","description":"Verify your Trunk Merge Queue installation by submitting a test PR and confirming it merges automatically.","breadcrumbs":[{"label":"Merge Queue"},{"label":"Getting Started"}]},{"id":"u74rjnXFxumEw6w5Weip","title":"Migrate from GitHub Merge Queue","pathname":"/merge-queue/migrating-from-github-merge-queue","siteSpaceId":"sitesp_2t3CX","description":"Switch from GitHub's native merge queue to Trunk Merge Queue with minimal disruption to your workflow.","breadcrumbs":[{"label":"Merge Queue"}]},{"id":"oOqLTcHdvICsopLp2Df2","title":"Optimizations","pathname":"/merge-queue/optimizations","siteSpaceId":"sitesp_2t3CX","description":"Advanced features that increase merge throughput, handle flaky tests, and prioritize critical PRs in Trunk Merge Queue.","breadcrumbs":[{"label":"Merge Queue"}]},{"id":"Vj5Kkok7BoFzEA8Gjt0V","title":"Predictive testing","pathname":"/merge-queue/optimizations/predictive-testing","siteSpaceId":"sitesp_2t3CX","description":"Test PRs against the projected future state of your main branch to catch conflicts before they reach production.","breadcrumbs":[{"label":"Merge Queue"},{"label":"Optimizations"}]},{"id":"fD2I3TWDDBPNMZ5k7ArD","title":"Anti-flake protection","pathname":"/merge-queue/optimizations/anti-flake-protection","siteSpaceId":"sitesp_2t3CX","description":"Combine optimistic merging and pending failure depth to prevent flaky test failures from blocking the merge queue.","breadcrumbs":[{"label":"Merge Queue"},{"label":"Optimizations"}]},{"id":"RlxEEldZ0SK2NYVF7Uwp","title":"Parallel queues","pathname":"/merge-queue/optimizations/parallel-queues","siteSpaceId":"sitesp_2t3CX","description":"Create dynamic parallel queues to reduce queue time","breadcrumbs":[{"label":"Merge Queue"},{"label":"Optimizations"}]},{"id":"NHa2j7L6G5SzBGLOmp16","title":"Bazel","pathname":"/merge-queue/optimizations/parallel-queues/bazel","siteSpaceId":"sitesp_2t3CX","description":"Instructions for enabled dynamic parallel queues powered by your bazel graph","breadcrumbs":[{"label":"Merge Queue"},{"label":"Optimizations"},{"label":"Parallel queues"}]},{"id":"h8Mdp21ZXzZsolcIOF14","title":"Nx","pathname":"/merge-queue/optimizations/parallel-queues/nx","siteSpaceId":"sitesp_2t3CX","description":"Instructions for enabled dynamic parallel queues powered by your Nx graph","breadcrumbs":[{"label":"Merge Queue"},{"label":"Optimizations"},{"label":"Parallel queues"}]},{"id":"TfD40zQpgIJuHE7dPVj4","title":"Custom Build Systems","pathname":"/merge-queue/optimizations/parallel-queues/api","siteSpaceId":"sitesp_2t3CX","description":"Upload custom list of impacted targets","breadcrumbs":[{"label":"Merge Queue"},{"label":"Optimizations"},{"label":"Parallel queues"}]},{"id":"eWDhgyUW03W1ks3H7nUC","title":"Batching","pathname":"/merge-queue/optimizations/batching","siteSpaceId":"sitesp_2t3CX","description":"Test multiple PRs together as a single unit to increase merge throughput and reduce CI costs.","breadcrumbs":[{"label":"Merge Queue"},{"label":"Optimizations"}]},{"id":"dAkX19uomKqlg9n0Eq0I","title":"Priority merging","pathname":"/merge-queue/optimizations/priority-merging","siteSpaceId":"sitesp_2t3CX","description":"Fast-track critical PRs like hotfixes and security patches to the front of the merge queue.","breadcrumbs":[{"label":"Merge Queue"},{"label":"Optimizations"}]},{"id":"WUap2fgZP1dKWuH76MgL","title":"Optimistic merging","pathname":"/merge-queue/optimizations/optimistic-merging","siteSpaceId":"sitesp_2t3CX","description":"Merge PRs faster by using passing test results from later PRs in the queue to validate earlier ones.","breadcrumbs":[{"label":"Merge Queue"},{"label":"Optimizations"}]},{"id":"v5WyCtG7FP7sEixu6Dp5","title":"Pending failure depth","pathname":"/merge-queue/optimizations/pending-failure-depth","siteSpaceId":"sitesp_2t3CX","description":"Keep failed PRs in the queue while successor PRs test, giving transient failures a chance to pass.","breadcrumbs":[{"label":"Merge Queue"},{"label":"Optimizations"}]},{"id":"11Qnqa74anRAOB8zXWw6","title":"Direct merge to main","pathname":"/merge-queue/optimizations/direct-merge-to-main","siteSpaceId":"sitesp_2t3CX","description":"Skip redundant retesting and merge PRs directly when they are already tested against the current tip of main.","breadcrumbs":[{"label":"Merge Queue"},{"label":"Optimizations"}]},{"id":"v2JKCLEHaikbV24C52qV","title":"Using the Queue","pathname":"/merge-queue/using-the-queue","siteSpaceId":"sitesp_2t3CX","description":"Daily operations for working with Trunk Merge Queue.","breadcrumbs":[{"label":"Merge Queue"}]},{"id":"tMYv90jCwVP5lah4hK9L","title":"Submit and cancel pull requests","pathname":"/merge-queue/using-the-queue/reference","siteSpaceId":"sitesp_2t3CX","description":"Covers the journey of a PR from submission through various states to completion","breadcrumbs":[{"label":"Merge Queue"},{"label":"Using the Queue"}]},{"id":"Y1QkhuzDHI5DQPTHOKpP","title":"Monitor queue status","pathname":"/merge-queue/using-the-queue/monitor-queue-status","siteSpaceId":"sitesp_2t3CX","description":"View real-time queue activity, PR status, and test results in the Trunk Merge Queue dashboard.","breadcrumbs":[{"label":"Merge Queue"},{"label":"Using the Queue"}]},{"id":"ESigiuOxoW4qJo1kTyXK","title":"Handle failed pull requests","pathname":"/merge-queue/using-the-queue/handle-failed-pull-requests","siteSpaceId":"sitesp_2t3CX","description":"Understand why PRs fail in the merge queue and how to fix and resubmit them.","breadcrumbs":[{"label":"Merge Queue"},{"label":"Using the Queue"}]},{"id":"gr8SWUG4erXolmCxNs8v","title":"Emergency pull requests","pathname":"/merge-queue/using-the-queue/emergency-pull-requests","siteSpaceId":"sitesp_2t3CX","description":"Bypass the merge queue entirely for true emergencies. Use with caution as this can invalidate in-progress queue tests.","breadcrumbs":[{"label":"Merge Queue"},{"label":"Using the Queue"}]},{"id":"4689kxNdgNWTB77Ys9zn","title":"Force merge","pathname":"/merge-queue/using-the-queue/force-merge","siteSpaceId":"sitesp_2t3CX","description":"Admins can push a pull request through Merge Queue even when GitHub branch protection rules aren't satisfied. The PR is still tested; only the final merge bypasses protection.","breadcrumbs":[{"label":"Merge Queue"},{"label":"Using the Queue"}]},{"id":"IYx3qe7pLb0rs5BjVECJ","title":"Integration for Slack","pathname":"/merge-queue/integration-for-slack","siteSpaceId":"sitesp_2t3CX","description":"Send merge queue updates to multiple Slack channels and receive personal DM notifications — all powered by the Trunk Slack app.","breadcrumbs":[{"label":"Merge Queue"}]},{"id":"MqaPXwjGdzXLFTrgmvNn","title":"Chrome Extension","pathname":"/merge-queue/chrome-extension","siteSpaceId":"sitesp_2t3CX","description":"Submit, cancel, and track Trunk Merge Queue pull requests directly from GitHub with the Trunk Chrome Extension.","breadcrumbs":[{"label":"Merge Queue"}]},{"id":"32aYtPunX5tUVJGXgk4x","title":"Webhooks","pathname":"/merge-queue/webhooks","siteSpaceId":"sitesp_2t3CX","description":"Merge Queue > Webhooks","breadcrumbs":[{"label":"Merge Queue"}]},{"id":"31yIWJ5mlMUBViHluMt4","title":"Administration","pathname":"/merge-queue/administration","siteSpaceId":"sitesp_2t3CX","description":"Configuration, integrations, and analytics for queue administrators.","breadcrumbs":[{"label":"Merge Queue"}]},{"id":"rKIrLMBaMLE7SHdTmxVs","title":"Settings and configurations","pathname":"/merge-queue/administration/advanced-settings","siteSpaceId":"sitesp_2t3CX","description":"Explanation of settings for states, timeouts, concurrency, and branch protection.","breadcrumbs":[{"label":"Merge Queue"},{"label":"Administration"}]},{"id":"YKspLHnC7eKqCsaJYkHn","title":"Terraform provider","pathname":"/merge-queue/administration/terraform","siteSpaceId":"sitesp_2t3CX","description":"Manage Trunk Merge Queue configuration as code using the trunk-io/trunk Terraform provider.","breadcrumbs":[{"label":"Merge Queue"},{"label":"Administration"}]},{"id":"eSNo6SGFEJF7pY9P9IEl","title":"Metrics and monitoring","pathname":"/merge-queue/administration/metrics","siteSpaceId":"sitesp_2t3CX","description":"","breadcrumbs":[{"label":"Merge Queue"},{"label":"Administration"}]},{"id":"VjzxwR46GBOQUoIC0iRL","title":"Reference","pathname":"/merge-queue/reference","siteSpaceId":"sitesp_2t3CX","description":"Technical documentation and troubleshooting resources.","breadcrumbs":[{"label":"Merge Queue"}]},{"id":"TPJizfwwAUk7MB4JMSe1","title":"CLI reference","pathname":"/merge-queue/reference/merge-queue-cli-reference","siteSpaceId":"sitesp_2t3CX","description":"Trunk CLI commands for submitting, canceling, pausing, and resuming the merge queue.","breadcrumbs":[{"label":"Merge Queue"},{"label":"Reference"}]},{"id":"7ZBgIVHKX9qwOkk5ehxe","title":"API reference","pathname":"/merge-queue/reference/merge","siteSpaceId":"sitesp_2t3CX","description":"Public Trunk Merge Queue API. All requests should be authenticated.","breadcrumbs":[{"label":"Merge Queue"},{"label":"Reference"}]},{"id":"vjm6DaNL0ZZmBIWcKTKU","title":"FAQ","pathname":"/merge-queue/reference/common-problems","siteSpaceId":"sitesp_2t3CX","description":"Troubleshooting and FAQ","breadcrumbs":[{"label":"Merge Queue"},{"label":"Reference"}]},{"id":"XOAqLTN2z7FwYFvUwSOp","title":"Troubleshooting","pathname":"/merge-queue/reference/troubleshooting","siteSpaceId":"sitesp_2t3CX","description":"Common Trunk Merge Queue issues and how to fix them, including permission errors, stuck PRs, and missing status checks.","breadcrumbs":[{"label":"Merge Queue"},{"label":"Reference"}]},{"id":"GBuiqT7APvUvOKCpQm4j","title":"Overview","pathname":"/flaky-tests/overview","siteSpaceId":"sitesp_2t3CX","description":"Detect, quarantine, and eliminates flaky tests from your codebase","breadcrumbs":[{"label":"Flaky Tests"}]},{"id":"96QAPKVBsvEf5ivhpxLo","title":"Dashboard","pathname":"/flaky-tests/overview/dashboard","siteSpaceId":"sitesp_2t3CX","description":"Learn to find flaky tests and understand their impact using the Flaky Tests dashboard","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Overview"}]},{"id":"RLsA54GnN78ls7QWdFBy","title":"Getting Started","pathname":"/flaky-tests/get-started","siteSpaceId":"sitesp_2t3CX","description":"Set up Trunk Flaky Tests by configuring test result output, uploading from CI, and enabling flake detection monitors.","breadcrumbs":[{"label":"Flaky Tests"}]},{"id":"tZA7DodSd0MxiBUF9gpP","title":"Test frameworks","pathname":"/flaky-tests/get-started/frameworks","siteSpaceId":"sitesp_2t3CX","description":"Guides for generating Trunk-compatible test results from various test frameworks","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"}]},{"id":"E7k4GAFrNZjpZ7jT3lqU","title":"Android","pathname":"/flaky-tests/get-started/frameworks/android","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for Android projects","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"U8m3BzgZ4DmviYsAWWno","title":"Bazel","pathname":"/flaky-tests/get-started/frameworks/bazel","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports with Bazel","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"EAYboxoGaJFFx7R3XB1o","title":"Behave","pathname":"/flaky-tests/get-started/frameworks/behave","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for Behave","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"LDryhlsZDA8QjCGTziQP","title":"cargo-nextest","pathname":"/flaky-tests/get-started/frameworks/rust","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for Rust","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"MlurcfQ9yWJpdsuy6rIT","title":"Cypress","pathname":"/flaky-tests/get-started/frameworks/cypress","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for Cypress tests","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"XOx2CgxSvhOhliaWviw4","title":"Dart Test","pathname":"/flaky-tests/get-started/frameworks/dart-test","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for Dart tests","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"1PMPVX7ua70r59xg6HBC","title":"Go","pathname":"/flaky-tests/get-started/frameworks/gotestsum","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for Go tests","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"4zBui4bVt72RnbDio92a","title":"GoogleTest","pathname":"/flaky-tests/get-started/frameworks/googletest","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for GoogleTest","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"QuM21KtKHsM3oryU0o9Z","title":"Gradle","pathname":"/flaky-tests/get-started/frameworks/gradle","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for Gradle","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"a6QN8GzzOU0LI0LTXGWZ","title":"Jasmine","pathname":"/flaky-tests/get-started/frameworks/jasmine","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for Jasmine tests","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"8LTcYth3rn3QhvitO75w","title":"Jest","pathname":"/flaky-tests/get-started/frameworks/jest","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for Jest tests","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"hiG8UKAnylGEHbK0lehd","title":"Karma","pathname":"/flaky-tests/get-started/frameworks/karma","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for Karma tests","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"rSFBB6VzE1taxwRBc9XC","title":"Kotest","pathname":"/flaky-tests/get-started/frameworks/kotest","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for Kotest","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"RL3N0iWXcxXczIiiFhJf","title":"Maven","pathname":"/flaky-tests/get-started/frameworks/maven","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for Maven","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"uHTcQSRHYG4FXtt20s79","title":"minitest","pathname":"/flaky-tests/get-started/frameworks/minitest","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for minitest","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"1cK59Dkf088kZuLqwjnh","title":"Mocha","pathname":"/flaky-tests/get-started/frameworks/mocha","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for Mocha","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"NJwpgpt5HfviItuykuIL","title":"Nightwatch","pathname":"/flaky-tests/get-started/frameworks/nightwatch","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for Nightwatch","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"XFupMGuUJZhIcMalnhEj","title":"NUnit","pathname":"/flaky-tests/get-started/frameworks/nunit","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for NUnit","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"QeuOyrJO9LYr4fT2uaeg","title":"Pest","pathname":"/flaky-tests/get-started/frameworks/pest","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for Pest","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"vpMLKXYLZE0RTdUWkpO4","title":"PHPUnit","pathname":"/flaky-tests/get-started/frameworks/phpunit","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for PHPUnit","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"IuFEk9QrDhZga2SGkMlD","title":"Playwright","pathname":"/flaky-tests/get-started/frameworks/playwright","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for Playwright","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"RVJNhMuUq96EesOSA9vp","title":"Pytest","pathname":"/flaky-tests/get-started/frameworks/pytest","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for Pytest","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"TmHJ0Pbdk4r3TJJ6DmYe","title":"Robot Framework","pathname":"/flaky-tests/get-started/frameworks/robot-framework","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for Robot Framework","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"SuBvjMe8Ef7VC8rsc9oX","title":"RSpec","pathname":"/flaky-tests/get-started/frameworks/rspec","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for RSpec using Trunk's RSpec plugin","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"tqwEIm2BC7eWc6zXp8YS","title":"RSpec (Manual Uploads)","pathname":"/flaky-tests/get-started/frameworks/rspec/manual-uploads","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for RSpec without using Trunk's RSpec plugin","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"},{"label":"RSpec"}]},{"id":"vZbTVxAxb66xw6zswQZq","title":"Swift Testing","pathname":"/flaky-tests/get-started/frameworks/swift-testing","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports with Swift Testing","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"iQIz23Lr4rh1YVLg0Aew","title":"Testplan","pathname":"/flaky-tests/get-started/frameworks/testplan","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for Testplan","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"fmjAJZkLAbkczSSOC4Jf","title":"Vitest","pathname":"/flaky-tests/get-started/frameworks/vitest","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports with Vitest","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"UobDm2c0q7GCYykmpumj","title":"XCTest","pathname":"/flaky-tests/get-started/frameworks/xctest","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports for XCode and xcodebuild","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"g84Si8bSzLKqgVET7MXc","title":"Other Test Frameworks","pathname":"/flaky-tests/get-started/frameworks/other-test-frameworks","siteSpaceId":"sitesp_2t3CX","description":"A guide for generating Trunk-compatible test reports with other test frameworks","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"Test frameworks"}]},{"id":"AFWxZeKRnWuDUmDXoJum","title":"CI Providers","pathname":"/flaky-tests/get-started/ci-providers","siteSpaceId":"sitesp_2t3CX","description":"You can easily integrate Flaky Tests from any CI Provider","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"}]},{"id":"BX6GZEzn4ZrEtkvf76BZ","title":"Atlassian Bamboo","pathname":"/flaky-tests/get-started/ci-providers/atlassian-bamboo","siteSpaceId":"sitesp_2t3CX","description":"Configure Atlassian Bamboo to upload test results to Trunk Flaky Tests","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"CI Providers"}]},{"id":"rW5O9sYZ5FCO48HAuAY1","title":"Azure DevOps Pipelines","pathname":"/flaky-tests/get-started/ci-providers/azure-devops-pipelines","siteSpaceId":"sitesp_2t3CX","description":"","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"CI Providers"}]},{"id":"k9ytuW0gdB8ZE1REUwrc","title":"BitBucket Pipelines","pathname":"/flaky-tests/get-started/ci-providers/bitbucket-pipelines","siteSpaceId":"sitesp_2t3CX","description":"","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"CI Providers"}]},{"id":"s1PonVt5teU8Pbv8jntA","title":"Buildkite","pathname":"/flaky-tests/get-started/ci-providers/buildkite","siteSpaceId":"sitesp_2t3CX","description":"Configure Buildkite jobs to upload test results to Trunk Flaky Tests","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"CI Providers"}]},{"id":"VXHQCYs1Zu7PUAnv3K8W","title":"CircleCI","pathname":"/flaky-tests/get-started/ci-providers/circleci","siteSpaceId":"sitesp_2t3CX","description":"Configure CircleCI jobs to upload test results to Trunk Flaky Tests","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"CI Providers"}]},{"id":"tS8Bsp4ot0WsOKNgvlDW","title":"Drone CI","pathname":"/flaky-tests/get-started/ci-providers/droneci","siteSpaceId":"sitesp_2t3CX","description":"Configure Flaky Tests using Drone CI","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"CI Providers"}]},{"id":"nYW7CpWNaaq4uWl78Fvm","title":"GitHub Actions","pathname":"/flaky-tests/get-started/ci-providers/github-actions","siteSpaceId":"sitesp_2t3CX","description":"Configure Flaky Tests detection using a GitHub Action","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"CI Providers"}]},{"id":"eQPFB6NqEUfjmihqhrHp","title":"GitLab","pathname":"/flaky-tests/get-started/ci-providers/gitlab","siteSpaceId":"sitesp_2t3CX","description":"Configure Flaky Tests using GitLab CI","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"CI Providers"}]},{"id":"LOYg2vwigIJKBjo0l16F","title":"Google Cloud Build","pathname":"/flaky-tests/get-started/ci-providers/google-cloud-build","siteSpaceId":"sitesp_2t3CX","description":"Configure Google Cloud Build to upload test results to Trunk Flaky Tests","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"CI Providers"}]},{"id":"lMhOkY5SbC2o3yVv0Zdc","title":"Jenkins","pathname":"/flaky-tests/get-started/ci-providers/jenkins","siteSpaceId":"sitesp_2t3CX","description":"Configure Flaky Tests using Jenkins","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"CI Providers"}]},{"id":"hEpOols11jkPHrUhOsET","title":"Semaphore CI","pathname":"/flaky-tests/get-started/ci-providers/semaphoreci","siteSpaceId":"sitesp_2t3CX","description":"Configure Flaky Tests using Semaphore CI","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"CI Providers"}]},{"id":"K6usBAVTZYP8B2op0T0e","title":"Travis CI","pathname":"/flaky-tests/get-started/ci-providers/travisci","siteSpaceId":"sitesp_2t3CX","description":"Configure Flaky Tests using Travis CI","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"CI Providers"}]},{"id":"GFMkpKxsn7ytjvWGNnN7","title":"Other CI Providers","pathname":"/flaky-tests/get-started/ci-providers/otherci","siteSpaceId":"sitesp_2t3CX","description":"Configure Flaky Tests using any CI Provider","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"},{"label":"CI Providers"}]},{"id":"GYHLCbE7ZREkX99d0oux","title":"Multiple Repositories and Forks","pathname":"/flaky-tests/get-started/multiple-repositories","siteSpaceId":"sitesp_2t3CX","description":"Learn how Trunk identifies repositories and how to track tests across forks and multiple repositories without mixing results.","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Getting Started"}]},{"id":"Qj4FKYA4xdeZ6m6LxKnF","title":"Flaky test detection","pathname":"/flaky-tests/detection","siteSpaceId":"sitesp_2t3CX","description":"Learn how Trunk detects and labels flaky and broken tests","breadcrumbs":[{"label":"Flaky Tests"}]},{"id":"ligzYB4UKTi12BVh8lfR","title":"Pass-on-Retry Monitor","pathname":"/flaky-tests/detection/pass-on-retry-monitor","siteSpaceId":"sitesp_2t3CX","description":"Detect tests that fail then pass on retry within the same commit","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Flaky test detection"}]},{"id":"E5kbVfcKmLgU2uqKar5v","title":"Failure Rate Monitor","pathname":"/flaky-tests/detection/failure-rate-monitor","siteSpaceId":"sitesp_2t3CX","description":"Detect flaky or broken tests based on failure rate over a configurable time window","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Flaky test detection"}]},{"id":"3vzpH8dmqrvz7WUtD5ur","title":"Failure Count Monitor","pathname":"/flaky-tests/detection/failure-count-monitor","siteSpaceId":"sitesp_2t3CX","description":"Detect flaky or broken tests as soon as they accumulate a configured number of failures","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Flaky test detection"}]},{"id":"MHeua12HG5yQikxGJwCG","title":"Flag as Flaky","pathname":"/flaky-tests/detection/flag-as-flaky","siteSpaceId":"sitesp_2t3CX","description":"Manually mark a test as flaky from the test detail page","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Flaky test detection"}]},{"id":"J6QOeBlEkJANKHEdWjp4","title":"The Importance of PR Test Results","pathname":"/flaky-tests/detection/the-importance-of-pr-test-results","siteSpaceId":"sitesp_2t3CX","description":"Why uploading test results from pull requests is required for accurate flaky test detection, quarantining, and impact measurement.","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Flaky test detection"}]},{"id":"4ATTARFMjCxNDQQvJJK7","title":"Infrastructure Failure Protection","pathname":"/flaky-tests/detection/infrastructure-failure-protection","siteSpaceId":"sitesp_2t3CX","description":"Prevent false Trunk Flaky Tests detections during CI outages and infrastructure failures.","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Flaky test detection"}]},{"id":"OX1f0QLJ6luUh9xBdTP1","title":"Flaky test management","pathname":"/flaky-tests/management","siteSpaceId":"sitesp_2t3CX","description":"Organize, triage, and coordinate follow-up for detected flaky tests.","breadcrumbs":[{"label":"Flaky Tests"}]},{"id":"uS9EC4xcztuI8Ll788LE","title":"Managing detected flaky tests","pathname":"/flaky-tests/management/managing-detected-flaky-tests","siteSpaceId":"sitesp_2t3CX","description":"A step-by-step guide for building an automated process to manage detected flaky tests.","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Flaky test management"}]},{"id":"TQq4bxaujGxnhd4IuO5n","title":"Test Labels","pathname":"/flaky-tests/management/test-labels","siteSpaceId":"sitesp_2t3CX","description":"Organize and categorize test cases with organization-scoped labels.","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Flaky test management"}]},{"id":"bsidAHundaDmRCllGSib","title":"Pull request comments","pathname":"/flaky-tests/management/github-pull-request-comments","siteSpaceId":"sitesp_2t3CX","description":"Flaky Tests provides summary analytics about tests running on Pull Requests","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Flaky test management"}]},{"id":"nYQrxbxCicyiYvzGHUxG","title":"Ticketing","pathname":"/flaky-tests/management/ticketing","siteSpaceId":"sitesp_2t3CX","description":"Triage your flaky tests faster by creating automatically assigned and labeled tickets in your ticketing system","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Flaky test management"}]},{"id":"JJXWStgZisWHAXr7WKyN","title":"Jira integration","pathname":"/flaky-tests/management/ticketing/jira-integration","siteSpaceId":"sitesp_2t3CX","description":"Triage your flaky tests faster by creating automatically assigned and labeled tickets with the Jira integration","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Flaky test management"},{"label":"Ticketing"}]},{"id":"2PmbIWKONuLN6RfFX0xV","title":"Linear integration","pathname":"/flaky-tests/management/ticketing/linear-integration","siteSpaceId":"sitesp_2t3CX","description":"Triage your flaky tests faster by creating automatically assigned and labeled tickets with the Linear integration","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Flaky test management"},{"label":"Ticketing"}]},{"id":"zf1Y92a8iOlamwvxQe3W","title":"Other ticketing platforms","pathname":"/flaky-tests/management/ticketing/other-ticketing-platforms","siteSpaceId":"sitesp_2t3CX","description":"Triage your flaky tests faster by manually creating tickets from generated markdown","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Flaky test management"},{"label":"Ticketing"}]},{"id":"9la6xJrkxJYzncQ9ulSr","title":"Quarantining","pathname":"/flaky-tests/quarantining","siteSpaceId":"sitesp_2t3CX","description":"Mitigate impact of known flaky tests by isolating them at run time","breadcrumbs":[{"label":"Flaky Tests"}]},{"id":"3ZLTTfBdCx4yGm1DqOmn","title":"Quarantine Service Availability","pathname":"/flaky-tests/quarantining/quarantine-service-availability","siteSpaceId":"sitesp_2t3CX","description":"How Trunk Analytics CLI handles quarantine service outages without compromising your CI pipeline.","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Quarantining"}]},{"id":"EWseTc0U0w6QKkcqa03x","title":"Webhooks","pathname":"/flaky-tests/webhooks","siteSpaceId":"sitesp_2t3CX","description":"Use webhooks to automate custom flaky test workflows","breadcrumbs":[{"label":"Flaky Tests"}]},{"id":"44XqudmeHIp2KlHMt7F6","title":"Integration for Slack","pathname":"/flaky-tests/webhooks/slack-integration","siteSpaceId":"sitesp_2t3CX","description":"Learn how to use flaky test webhooks to power Slack notifications","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Webhooks"}]},{"id":"82zp7jrs4Y8ygSyQyo5F","title":"Microsoft Teams integration","pathname":"/flaky-tests/webhooks/microsoft-teams-integration","siteSpaceId":"sitesp_2t3CX","description":"","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Webhooks"}]},{"id":"6Fx1b7YMfIOkWQKpCq41","title":"GitHub Issues integration","pathname":"/flaky-tests/webhooks/github-issues-integration","siteSpaceId":"sitesp_2t3CX","description":"Learn how to automatically create GitHub Issues with Flaky Tests webhooks","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Webhooks"}]},{"id":"hPNMr88q9vk6u4Q1I8bk","title":"Linear integration","pathname":"/flaky-tests/webhooks/linear-integration","siteSpaceId":"sitesp_2t3CX","description":"Learn how to automatically create Linear issues with Flaky Tests webhooks","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Webhooks"}]},{"id":"i4QNqnwGGFG7tgqEKVDn","title":"Jira integration","pathname":"/flaky-tests/webhooks/jira-integration","siteSpaceId":"sitesp_2t3CX","description":"Learn how to automatically create Jira issues with Flaky Test webhooks","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Webhooks"}]},{"id":"zMMiEJz5W1sXgObYB9UM","title":"Agents","pathname":"/flaky-tests/agents","siteSpaceId":"sitesp_2t3CX","description":"Use agents and AI workflows to investigate and fix flaky tests and CI failures.","breadcrumbs":[{"label":"Flaky Tests"}]},{"id":"lnn9w4k9rYZHBaaP2OeC","title":"Autofix Flaky Tests","pathname":"/flaky-tests/agents/autofix-flaky-tests","siteSpaceId":"sitesp_2t3CX","description":"","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Agents"}]},{"id":"cJ5IV8wUSrsBJJz4Qn7R","title":"Autofix CI Failures","pathname":"/flaky-tests/agents/autofix-ci-failures","siteSpaceId":"sitesp_2t3CX","description":"","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Agents"}]},{"id":"Xg1X38IWYowW0XoBu608","title":"Reference","pathname":"/flaky-tests/reference","siteSpaceId":"sitesp_2t3CX","description":"Reference documentation for Flaky Tests APIs, CLI commands, and MCP tools.","breadcrumbs":[{"label":"Flaky Tests"}]},{"id":"v1RrMpuyNKHUTUMqz78x","title":"CLI reference","pathname":"/flaky-tests/reference/cli-reference","siteSpaceId":"sitesp_2t3CX","description":"CLI tool for uploading test results to Trunk from CI, enabling flaky test detection and quarantining.","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Reference"}]},{"id":"pX1gSpRp8O2Sde7LafXH","title":"API reference","pathname":"/flaky-tests/reference/api-reference","siteSpaceId":"sitesp_2t3CX","description":"REST API for checking Trunk service status and fetching unhealthy or quarantined tests in your project.","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Reference"}]},{"id":"pAEdSV01Rhp17WCAW60R","title":"MCP reference","pathname":"/flaky-tests/reference/mcp-reference","siteSpaceId":"sitesp_2t3CX","description":"Use the Trunk MCP server from your IDE or AI application to access flaky test insights and configure test uploads","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Reference"}]},{"id":"ZESpo7SkCmyl8hMFhIkI","title":"Configuration","pathname":"/flaky-tests/reference/mcp-reference/configuration","siteSpaceId":"sitesp_2t3CX","description":"Configure your AI application to connect to the Trunk MCP server for flaky test insights and setup assistance.","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Reference"},{"label":"MCP reference"}]},{"id":"8GAHN7x5DXGnLqLjJEB2","title":"Cursor (IDE)","pathname":"/flaky-tests/reference/mcp-reference/configuration/cursor-ide","siteSpaceId":"sitesp_2t3CX","description":"Add Trunk's MCP Server to Cursor","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Reference"},{"label":"MCP reference"},{"label":"Configuration"}]},{"id":"N4NRSnwI8UXRpPccA38c","title":"GitHub Copilot (IDE)","pathname":"/flaky-tests/reference/mcp-reference/configuration/github-copilot-ide","siteSpaceId":"sitesp_2t3CX","description":"Add Trunk's MCP Server to GitHub Copilot","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Reference"},{"label":"MCP reference"},{"label":"Configuration"}]},{"id":"kQ1CSIx1q8sDVZeixKWK","title":"Claude Code (CLI)","pathname":"/flaky-tests/reference/mcp-reference/configuration/claude-code-cli","siteSpaceId":"sitesp_2t3CX","description":"Add Trunk's MCP Server to Claude Code","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Reference"},{"label":"MCP reference"},{"label":"Configuration"}]},{"id":"KbK3kbXDa16AT6Y8MVy2","title":"Claude Code Plugin","pathname":"/flaky-tests/reference/mcp-reference/configuration/claude-code-plugin","siteSpaceId":"sitesp_2t3CX","description":"Install the Trunk plugin for Claude Code","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Reference"},{"label":"MCP reference"},{"label":"Configuration"}]},{"id":"24a3j0aR1JLg2nHBOMgL","title":"Gemini (CLI)","pathname":"/flaky-tests/reference/mcp-reference/configuration/gemini-cli","siteSpaceId":"sitesp_2t3CX","description":"Add Trunk's MCP Server to Gemini","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Reference"},{"label":"MCP reference"},{"label":"Configuration"}]},{"id":"IbHyZKccxVCMXXCyFVto","title":"Bearer Auth","pathname":"/flaky-tests/reference/mcp-reference/configuration/bearer-auth","siteSpaceId":"sitesp_2t3CX","description":"Add Trunk's MCP Server via Bearer Authentication","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Reference"},{"label":"MCP reference"},{"label":"Configuration"}]},{"id":"IwUOB6C47pxh0R0S4cLa","title":"Search for tests","pathname":"/flaky-tests/reference/mcp-reference/search-test","siteSpaceId":"sitesp_2t3CX","description":"MCP tool reference: search-test","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Reference"},{"label":"MCP reference"}]},{"id":"I4fwzfOMAf88ztvZZPgU","title":"Fix flaky tests","pathname":"/flaky-tests/reference/mcp-reference/fix-flaky-test","siteSpaceId":"sitesp_2t3CX","description":"MCP tool reference: fix-flaky-test","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Reference"},{"label":"MCP reference"}]},{"id":"DEIwyOKkx3GsYsWL9IV6","title":"Set up test uploads","pathname":"/flaky-tests/reference/mcp-reference/set-up-test-uploads","siteSpaceId":"sitesp_2t3CX","description":"MCP tool reference: setup-trunk-uploads","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Reference"},{"label":"MCP reference"}]},{"id":"2kQqNdpUGAJdDJkWNt0x","title":"Investigate CI failure","pathname":"/flaky-tests/reference/mcp-reference/investigate-ci-failure","siteSpaceId":"sitesp_2t3CX","description":"MCP tool reference: investigate-ci-failure","breadcrumbs":[{"label":"Flaky Tests"},{"label":"Reference"},{"label":"MCP reference"}]},{"id":"mZFotnXf86jCm7lfs7Qh","title":"Account Setup","pathname":"/setup-and-administration/connecting-to-trunk","siteSpaceId":"sitesp_2t3CX","description":"","breadcrumbs":[{"label":"Setup & Administration"}]},{"id":"VpzNckjemqr7ZEnsPWi7","title":"Managing your Organization","pathname":"/setup-and-administration/managing-your-organization","siteSpaceId":"sitesp_2t3CX","description":"","breadcrumbs":[{"label":"Setup & Administration"}]},{"id":"WD5EdfJp7zNyAZGBUZFd","title":"Trunk GitHub App","pathname":"/setup-and-administration/github-app-permissions","siteSpaceId":"sitesp_2t3CX","description":"Learn more about which permissions the Trunk GitHub app requests and why Trunk needs them.","breadcrumbs":[{"label":"Setup & Administration"}]},{"id":"u0uZ662Rcc1wMoYmCp2m","title":"Trunk Sudo GitHub App","pathname":"/setup-and-administration/trunk-sudo-app","siteSpaceId":"sitesp_2t3CX","description":"Install and configure the Trunk Sudo GitHub App, a secondary Trunk app used by features that need to merge pull requests while bypassing GitHub branch protections.","breadcrumbs":[{"label":"Setup & Administration"}]},{"id":"vbr3HAUEdUZnQCayVOQk","title":"Support","pathname":"/setup-and-administration/support","siteSpaceId":"sitesp_2t3CX","description":"Need help with Trunk?","breadcrumbs":[{"label":"Setup & Administration"}]},{"id":"3GI0PFc8AFC0HztgKwj2","title":"Billing and plans","pathname":"/setup-and-administration/billing","siteSpaceId":"sitesp_2t3CX","description":"Trunk Subscription Plans","breadcrumbs":[{"label":"Setup & Administration"}]},{"id":"grZCGI5JUkzuUDEeZQxC","title":"Security","pathname":"/setup-and-administration/security","siteSpaceId":"sitesp_2t3CX","description":"The security and privacy of your Trunk Platform usage","breadcrumbs":[{"label":"Setup & Administration"}]},{"id":"9DLDX1HJ13cEmKNsdpsG","title":"API Reference","pathname":"/setup-and-administration/apis","siteSpaceId":"sitesp_2t3CX","description":"Trunk APIs for building custom integrations.","breadcrumbs":[{"label":"Setup & Administration"}]},{"id":"BfJiGVJxbP5jraXilA2i","title":"Webhooks Reference","pathname":"/setup-and-administration/apis/webhooks","siteSpaceId":"sitesp_2t3CX","description":"Documentation on the various webhooks that are provided by Trunk","breadcrumbs":[{"label":"Setup & Administration"},{"label":"API Reference"}]}]}