mergify-ci

Upload JUnit test results and manage CI scopes, quarantines, and merge queue metadata via Mergify CLI.

32|11|Updated May 17, 2021
One-click install
npx skills add https://github.com/Mergifyio/mergify-cli --skill mergify-ci-mergifyio
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: mergify-ci
Source: https://github.com/Mergifyio/mergify-cli/tree/main/skills/mergify-ci
Command: npx skills add https://github.com/Mergifyio/mergify-cli --skill mergify-ci-mergifyio

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? CI pipelines need to upload JUnit test results, evaluate flaky-test quarantines, detect which scopes changed, and read merge queue batch context without hand-rolled scripts against the Mergify API. ## Core Features & Use Cases - JUnit Processing: Parse JUnit XML reports, check quarantine status for failing tests, upload spans to Mergify CI Insights, and set the CI exit code so quarantined failures do not block the build. - Scopes Detection: Identify which CI scopes are impacted by changed files between base and head refs, enabling selective testing that only runs affected test suites. - Quarantine Management: Add, remove, get, and list quarantined tests, and look up test health by name with glob support. - Use Case: In a GitHub Actions workflow, run pytest with JUnit output, then call mergify ci junit-process results.xml so flaky tests already in quarantine do not fail the pipeline while real regressions still block the merge. ## Quick Start Ask the assistant to upload your JUnit test results to Mergify CI Insights and evaluate quarantine status for failing tests in your CI pipeline.

Frequently Asked Questions about mergify-ci

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I upload JUnit test results to Mergify CI Insights?

Run mergify ci junit-process with your JUnit XML files or a quoted glob pattern, setting MERGIFY_TOKEN as the credential. It parses the reports, checks quarantine status for failures, uploads spans, and exits 0 when all failures are quarantined.

How to run only affected tests with Mergify scopes?

Use mergify ci scopes with your Mergify config file to detect which scopes have changed files between base and head refs. The detected scopes are written to GITHUB_OUTPUT as a JSON map, letting downstream jobs conditionally run only impacted test suites.

Why does mergify tests show return a 403 error?

The tests show command requires an admin-class Mergify key or a GitHub PAT; a ci-class key receives a 403. GITHUB_TOKEN inside GitHub Actions is an ephemeral installation token, not a PAT, so it cannot clear these 403 responses.

Does mergify ci junit-process fail the build when upload fails?

No, upload failures never affect the exit code so Mergify-side trouble does not break CI. On GitHub Actions it emits error or warning annotations and writes test_results_upload=success|rejected|failed to GITHUB_OUTPUT for programmatic detection.

How do I quarantine a flaky test with Mergify CLI?

Run mergify tests quarantines add with the fully qualified test name and a required --reason flag, optionally scoping it to a branch pattern with --branch. This needs an admin key or GitHub PAT, and the test's failures then stop blocking the CI verdict.