sonar-list-issues について
`sonarqube-cli` で SonarQube プロジェクトの問題を一覧表示するスキルです。プロジェクトキーを解決し、深刻度、ステータス、ブランチ、プルリクエストの指定を検証します。
主な機能
- 01プロジェクトの問題一覧
- 02深刻度とステータスで絞り込み
- 03ブランチやプルリクエストを指定
- 04引数とプロジェクトキーの検証
活用シーン
- 01プロジェクトの重大な問題を確認
- 02ブランチ上の未解決問題を確認
- 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 スキルを呼び出してください。」