用途:在已接入 SonarQube 的项目中,使用已安装的 sonar CLI 作为事实来源,先做结构化只读检查,再进行代码分析或修改,最终报告项目、分支或 PR、命令范围与结果。
主要能力:预检(command -v sonar、sonar --version、sonar auth status,必要时 sonar system status --json);用 sonar list projects 搜索项目;用 sonar list issues 查看问题;用 sonar quality-gate status 查看质量门禁;用 sonar analyze 分析文件、未提交改动、暂存文件或基于基线引用,支持 secrets 与 dependency-risks 扫描;用 sonar api get 补充读取,如 sonar api get "/api/webservices/list"。
使用方式:先解析项目键,优先使用用户提供,其次读取 sonar-project.properties 的 sonar.projectKey,或 .sonarlint/connectedMode.json,必要时让 CLI 自动检测;多个匹配不要静默选择。优先使用最窄的读取命令,需要时加 --branch 或 --pull-request(两者互斥)。用 --format json 便于解析,必要时用 toon、table 或 CSV。修复后重跑同一范围。
限制与注意:sonar auth status 是权威凭据检查,不要仅依据配置文件推断认证;沙箱或后台环境可能无法访问系统钥匙串,需改用环境变量方式,且不要自行获取或打印令牌。状态变更命令(sonar remediate、api post/patch/put/delete、integrate、auth login/logout、config telemetry、update、system reset)须先确认目标与影响;sonar system reset --force 为破坏性操作。浏览器登录需用户手动完成。CLI 版本会变化,命令被拒绝时查阅 sonar --help。API v1/v2 可用性因云区域与服务器版本而异;仅报告检测到的密钥类型与安全位置,不复制密钥值。