mcpField
S
sonar-list-issues

sonar-list-issues

github.com/sonarsourceテスト・品質11449 回インストール今日更新
リポジトリ

sonar-list-issues について

`sonarqube-cli` で SonarQube プロジェクトの問題を一覧表示するスキルです。プロジェクトキーを解決し、深刻度、ステータス、ブランチ、プルリクエストの指定を検証します。

主な機能

  1. 01プロジェクトの問題一覧
  2. 02深刻度とステータスで絞り込み
  3. 03ブランチやプルリクエストを指定
  4. 04引数とプロジェクトキーの検証

活用シーン

  1. 01プロジェクトの重大な問題を確認
  2. 02ブランチ上の未解決問題を確認
  3. 03プルリクエストの問題を調査

MCP 対応

このスキルは SonarQube MCP ツールではなく、CLI で `sonar list issues` を実行します。

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/sonar-list-issuesを入力して読み込まれたか確認します。

詳細

SonarQube — 課題の一覧表示

sonarqube-cli を使用して、SonarQube プロジェクトの課題を検索します。

SonarQube MCP ツールとは異なり(連携設定のデフォルトプロジェクトを使用する場合があります)、sonar list issues では常に -p <project-key> が必須です。CLI を実行する前に、ユーザーが指定した引数または sonar-project.properties からキーを解決してください。

使用方法

sonar-list-issues                                          # issues in the current project
sonar-list-issues my-project                               # issues in a specific project key
sonar-list-issues my-project --severities CRITICAL,BLOCKER # filter by severities
sonar-list-issues my-project --statuses OPEN,CONFIRMED     # filter by status
sonar-list-issues my-project --branch main                 # on a specific branch
sonar-list-issues my-project --pr 42                       # on a pull request

前提条件

このスキルでは sonarqube-cli コマンドを使用します。続行する前に、CLI がインストールされ、認証済みである必要があります。

続行する前に、sonar が PATH 上で使用可能で、認証済みであることを確認してください。使用できない場合は、代替コマンドを試したり、代替手段を考案したりせず、ユーザーに次の内容を表示してください。

課題を一覧表示できません。

考えられる原因:

  • sonarqube-cli がインストールされていない、または認証されていない — sonar-integrate スキルを呼び出してください
  • プロジェクトキーが誤っている、または指定されていない — sonar list issues では -p が必須です。sonar-list-projects スキルを呼び出すか、sonar-project.properties に sonar.projectKey を設定してください

その後、今すぐ sonar-integrate スキルを実行するかどうか、ユーザーに(yes/no で)確認してください。このスキルの内容を簡潔に説明してください。ユーザーのマシン上の SonarQube 設定を確認し、sonarqube-cli のインストールまたは更新と認証の確認を行い、このエージェント向けに SonarQube MCP サーバーやシークレットスキャンのフックを含む連携設定を再構成します。ユーザーが実行に同意した場合は、自分で sonar-integrate スキルを呼び出し、このセッション内で最後まで実行してから、再確認して続行してください。辞退した場合は、停止してください。

手順

ステップ 1:プロジェクトキーを解決する

このフローでは MCP ではなく sonar list issues(CLI)を使用します。CLI では常に -p <project-key> が必要です。キーを解決せずに実行してはいけません。

  • ユーザーがプロジェクトキーを指定した場合は、それを使用します。
  • 指定されていない場合は、リポジトリのルートにある sonar-project.properties 内の sonar.projectKey を確認します。
  • それでも見つからない場合は、sonar list issues を実行しないでください。ユーザーに 「プロジェクトキーを見つけるには sonar-list-projects スキルを呼び出し、そのキーを指定して再実行してください」 と伝えるか、sonar-project.properties に sonar.projectKey を追加するよう案内してください。(MCP 連携のデフォルト設定は、この CLI コマンドには適用されません。)
ステップ 2:ユーザーが指定した引数からオプションのフラグを解析する
フラグ対応する CLI オプション
--severities <values>--severities
--statuses <values>--statuses
--branch <name>--branch
--pr <id>--pull-request

sonar list issues では、課題の種類、ルール、タグ、コンポーネントによる絞り込みや、--resolved フラグには対応していません。使用できるのは上記のオプションと --format、--page、--page-size のみです。ルール、種類、タグ、コンポーネントで絞り込む場合や、単一ファイルを詳しく調べる場合は、MCP ベースのスキルを使用してください(例:ファイルには sonar-analyze、または mcp__sonarqube__search_sonar_issues_in_projects)。

ステップ 3:引数を検証する

コマンドを組み立てる前に、ユーザーが指定した各値が次のルールに準拠していることを検証してください。値がいずれかのルールに違反した場合は、何がなぜ拒否されたのかをユーザーに伝え、停止してください。コマンドを実行してはいけません。CLI を実行する前に、引数または sonar-project.properties から解決したプロジェクトキーが、プロジェクトキーパターンに一致することを検証してください。

引数許可されるパターン
プロジェクトキー^[a-zA-Z0-9_\-\.:]+$
--severities次の値から選択した、カンマ区切りの一覧:INFO、MINOR、MAJOR、CRITICAL、BLOCKER、HIGH、MEDIUM、LOW
--statuses次の値から選択した、カンマ区切りの一覧:OPEN、CONFIRMED、FALSE_POSITIVE、ACCEPTED、FIXED
--branch^[a-zA-Z0-9_\-\./]+$
--pr数字のみ
Step 4: sonar list issues を実行する

シェルコマンドを使ってコマンドを構築し、実行します。ステップ 1 で解決したキーを指定して、必ず -p を渡してください。

sonar list issues -p <project-key> --format toon [--severities <values>] [--statuses <values>] [--branch <name>] [--pull-request <id>]

指定されたオプションのフラグのみを含めてください。

Step 5: 結果を整形する

問題が見つかった場合は、概要行の後に重大度、次に行番号の順で並べた表を表示します。

## SonarQube Issues — `my-project` (branch: `main`)

Found **12 issue(s)**:

| File                 | Line | Severity  | Rule         | Message                       |
| -------------------- | ---- | --------- | ------------ | ----------------------------- |
| src/auth/login.py    | 12   | 🔴 Blocker | python:S2077 | SQL injection risk            |
| src/utils/helpers.py | 34   | 🟠 High    | python:S2259 | Null dereference              |
| src/api/routes.py    | 67   | 🟡 Medium  | python:S3776 | Cognitive complexity too high |

重大度アイコン(ラベルはサーバーのバージョンによって異なります):

  • 🔴 ブロッカー
  • 🟠 クリティカル/高
  • 🟡 メジャー/中
  • 🔵 マイナー/低
  • ⚪ 情報

問題が見つからなかった場合:

## SonarQube Issues — `my-project`

✅ No issues found.
Step 6: 次のステップ
  • 特定の問題を修正するには:「<rule> を <file>:<line> で修正するよう依頼してください。」
  • クオリティゲートを確認するには:「sonar-quality-gate スキルを呼び出してください。」

コメント