用途:mergify ci 命令组面向 CI 流水线,提供上传 JUnit 测试结果到 Mergify CI Insights、检测 Git 引用、按变更文件管理 CI 作用域、读取合并队列批次元数据,以及查询测试健康度和维护隔离名单的能力。
主要命令:mergify ci junit-process FILES...(解析 JUnit XML、评估隔离并上传,是主命令);mergify ci junit-upload(已弃用);mergify ci git-refs(检测当前 PR 的 base/head 引用);mergify ci scopes --config PATH(按变更文件检测受影响作用域);mergify ci scopes-send -s SCOPE(上报作用域);mergify ci queue-info(输出合并队列批次元数据);mergify tests show/quarantines add|remove|get|list。
认证:分 ci 与 admin 两类应用密钥。ci 密钥用于 trace 上传、scopes-send、junit-process 的隔离评估和隔离列表;admin 密钥用于读取测试健康度、读取和修改隔离名单。trace 上传与 scopes-send 仅接受 ci 密钥,admin 密钥或 GitHub PAT 会返回 403;其余拒绝 ci 密钥的端点可用 GitHub PAT。GitHub Actions 中的 GITHUB_TOKEN 是临时安装令牌,不是 PAT。ci git-refs、ci scopes、ci queue-info 本地计算,无需令牌。
用法要点:junit-process 支持 --token、--repository、--tests-target-branch、--api-url、--test-framework、--test-language、--test-exit-code 等选项,FILES 可为路径或加引号的 glob;全部失败被隔离时退出码 0,存在阻塞失败时 1;上传失败不影响退出码,但会输出注解并写入 test_results_upload。git-refs 支持 text、shell、json 三种输出格式。scopes 可 --write 输出 JSON,合并队列草稿 PR 会读取 git note 中的批次作用域。scopes-send 按 head SHA 上报,可用 --head-sha 指定,--all 声明影响全部作用域。tests show 为只读,需 admin 密钥或 PAT,健康度不影响退出码,API 错误退出码 6。隔离相关命令需 admin 密钥或 PAT,add 必须提供 --reason,remove/get 可按测试名或 UUID 定位。
限制:具体收费、价格、平台支持范围等资料未提供;使用前需在仪表盘创建对应类型的 Mergify 应用密钥。