mcpField
S
sonar-list-projects

sonar-list-projects

github.com/sonarsource其他11439 次安装今天更新
代码仓库

关于 sonar-list-projects

用于列出当前已认证用户可访问的 SonarQube 项目,也可按名称或项目键搜索。它依赖已安装并完成认证的 `sonarqube-cli`。

主要功能

  1. 01列出可访问项目
  2. 02按名称或项目键搜索
  3. 03提示认证前置条件

适用场景

  1. 01发现后续操作所需的项目键
  2. 02查找特定 SonarQube 项目

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sonarsource/sonarqube-agent-plugins --skill sonar-list-projects

安装后在 Claude Code 中输入/sonar-list-projects确认已加载。

详细介绍

SonarQube — 列出项目

列出已认证用户可访问的 SonarQube 项目。可用于在运行其他技能前查找项目密钥。

用法

sonar-list-projects                      # list all accessible projects
sonar-list-projects my-project              # search by name or key

前置条件

此技能使用 sonarqube-cli 命令。继续操作前,必须先安装并完成 CLI 身份验证。

继续操作前,请确认 sonar 可在 PATH 中使用且已完成身份验证。如果不满足条件,请勿尝试调用其他命令或编造替代方案,并向用户显示:

无法列出项目。

可能原因:

  • 尚未安装 sonarqube-cli 或未完成身份验证 — 请调用 sonar-integrate 技能

然后询问用户是否要立即运行 sonar-integrate 技能(是/否)。简要说明其用途:检查用户计算机上的 SonarQube 设置 — 安装或更新 sonarqube-cli 并验证身份验证 — 并为此 Agent 重新配置集成,包括 SonarQube MCP 服务和密钥扫描钩子。如果用户确认,请自行调用 sonar-integrate 技能,并在本会话中完整执行,然后重新检查并继续;如果用户拒绝,则停止。

说明

步骤 1:从用户提供的参数中解析可选搜索词
  • 如果用户提供了搜索词(而非标志),请将其作为 --query 传入。
步骤 2:验证参数

如果提供了 --query 搜索词,请验证其是否匹配 ^[a-zA-Z0-9_\-\. ]+$。如果不匹配,请停止并告知用户被拒绝的内容 — 不要运行命令。

步骤 3:运行 sonar list projects

使用 shell 命令构建并运行命令:

sonar list projects [--query <search-term>]

仅当用户提供了搜索词时,才包含 --query。

步骤 4:格式化结果

如果找到项目:

## SonarQube Projects

Found **8 project(s)**:

| Project key       | Name            |
| ----------------- | --------------- |
| my-org_backend    | Backend Service |
| my-org_frontend   | Frontend App    |
| my-org_shared-lib | Shared Library  |

如果未找到项目:

## SonarQube Projects

No projects found. If you expected results, check your authentication with `sonar auth status`.

如果结果经过分页(返回 500 个项目),请注明:“显示前 500 个项目。使用搜索词缩小结果范围。”

步骤 5:后续操作
  • 列出问题:“使用项目密钥调用 sonar-list-issues 技能,或确保 sonar.projectKey 位于 sonar-project.properties 中 — CLI 始终需要 -p。”
  • 检查质量门:“调用 sonar-quality-gate 技能 — 仅当未使用 MCP 集成默认值时,才添加项目密钥。”

评论

支持 Markdown