SuperAPI AI 工具集

sonar-quality-gate

测试与质量

查看项目

更新于 10-16 03:43

技能介绍

用途:仅报告某个 SonarQube 项目的质量门禁评估结果——整体状态、API 返回的每个条件,以及失败条件的最差项明细;不在此拉取宽泛的指标面板。需要覆盖率百分比、问题数量等门禁之外的数值时,后续再调用 mcp__sonarqube__get_component_measures 并传入所需 metricKeys。

主要能力:显示门禁整体状态(如 OK 为通过、ERROR 为失败)及每条条件的 metricKey、status、errorThreshold、actualValue;在较新的 CLI 上,同一次调用即可对每个失败条件返回最差项明细(如覆盖率最差文件、重复率最差文件、具体问题列表、依赖风险包列表),无需另行拉取。

使用方式:主要通过 sonarqube-cli 的 sonar quality-gate status(别名 sonar qg status)执行,建议始终加 --format json 并解析结果。示例:sonar quality-gate status [-p <project-key>] [--branch <name> | --pull-request <id>] --format json。不带 -p 时会从 sonar-project.properties 的 sonar.projectKey 自动解析;--branch 与 --pr 互斥。可加 --category <coverage|duplications|issues|dependency-risks> 聚焦单一类别,--top <n> 控制明细条数。需先确认 sonar 已在 PATH 中且已认证;否则回退 MCP 工具 mcp__sonarqube__get_project_quality_gate_status(该工具不返回明细)。

适用场景:查看 CI 中某项目质量门禁为何失败、快速定位需要补测试或重构的文件、了解失败的问题与依赖风险。

限制:需安装并认证 sonarqube-cli,且 MCP 服务器经 sonar run mcp 启动并共享 CLI 凭据,其容器运行时(Docker/Podman/Nerdctl)须在运行;CLI 不可用或未认证时 MCP 回退通常也不可用。MCP 回退不含明细;旧版 CLI 可能不返回 breakdown 字段,应视为“不可用”而非错误。门禁数据缺失或尚未分析时应如实说明,不得编造数值。