Skip to main content

sonar-list-issues

Search and filter SonarQube issues for a project, branch, or pull request via the SonarQube MCP Server (project key optional when MCP integration already defines the default project)

Zur Installation springen

Quellinformationen

Repository
SonarSource/sonarqube-agenthq-plugin
Letzte Quellaktivität
19. Mai 2026 um 12:35
Erkannte Sprache von SKILL.md
Englisch
Sterne
0
Forks
1

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
sonar-list-issues
description
Search and filter SonarQube issues for a project, branch, or pull request via the SonarQube MCP Server (project key optional when MCP integration already defines the default project)
argument-hint
[project-key?] [--severity values] [--qualities values] [--statuses values] [--rules values] [--component path] [--branch name] [--pr id]
# SonarQube — List Issues Search for issues (bugs, vulnerabilities, code smells) in a SonarQube project using the SonarQube MCP Server. ## Usage ``` sonar-list-issues # issues in the current project sonar-list-issues my-project # issues in a specific project key sonar-list-issues my-project --severity HIGH,BLOCKER # filter by severity sonar-list-issues my-project --qualities SECURITY # filter by software quality sonar-list-issues my-project --statuses OPEN,CONFIRMED # filter by status sonar-list-issues my-project --rules python:S2077 # filter by rule key sonar-list-issues my-project --component src/auth/login.py # issues in a specific file sonar-list-issues my-project --pr 42 # on a pull request ``` ## Prerequisites This skill requires the SonarQube MCP Server to be configured and the tool `mcp__sonarqube__search_sonar_issues_in_projects` to be available in your session. If the tool call fails, surface the tool error verbatim and stop. Auth, credentials, and MCP server configuration are runtime infrastructure concerns and are not user-fixable from chat — do not ask the user to verify env vars or to install or run any CLI. ## Instructions ### Step 1: Resolve the project key (only when needed) MCP tools sometimes **do not require** `projectKey` when the SonarQube MCP Server has a default project for this workspace (e.g. `SONARQUBE_PROJECT_KEY` configured in the server env). Resolve a key only when you must pass it (tool schema requires it, or the user targets another project): - If the user provided a project key, use it. - Otherwise look for `sonar.projectKey` in `sonar-project.properties` at the repo root. - If still not found, **omit `projects`** in the MCP call and rely on the integration default. ### Step 2: Parse optional flags from the user-provided arguments | Flag | Maps to MCP parameter | | ---------------------- | ---------------------------------------------- | | `--severity <values>` | `severities` (array) | | `--qualities <values>` | `impactSoftwareQualities` (array) | | `--statuses <values>` | `issueStatuses` (array) | | `--rules <values>` | _(filter client-side from response)_ | | `--component <path>` | `files` (array; file key `project-key:src/...`)| | `--branch <name>` | _(not supported on this tool — see note)_ | | `--pr <id>` | `pullRequestId` | | `--page <n>` | `p` | | `--page-size <n>` | `ps` (1–500, default 100) | When `--component` is given as a plain path, prepend the resolved project key (when you have one) to form the component key (e.g. `my-project:src/auth/login.py`). **Note on `--branch`:** `mcp__sonarqube__search_sonar_issues_in_projects` does not expose a branch parameter directly. If the user passes `--branch`, tell them branch filtering is not supported on this MCP tool and offer to run the query against the default branch or a pull request instead. ### Step 3: Validate arguments Before building the call, validate each user-supplied value against the rules below. If any value fails validation, stop and tell the user what was rejected and why — do not run the call. Validate the resolved project key (from args or `sonar-project.properties`) against the project-key pattern before sending it. | Argument | Allowed pattern / values | | ------------- | ----------------------------------------------------------------------------------------- | | project key | `^[a-zA-Z0-9_\-\.:]+$` | | `--severity` | comma-separated subset of: `INFO`, `LOW`, `MEDIUM`, `HIGH`, `BLOCKER` | | `--qualities` | comma-separated subset of: `MAINTAINABILITY`, `RELIABILITY`, `SECURITY` | | `--statuses` | comma-separated subset of: `OPEN`, `CONFIRMED`, `FALSE_POSITIVE`, `ACCEPTED`, `FIXED` | | `--rules` | comma-separated values matching `^[a-zA-Z0-9_\-:]+$` | | `--component` | path matching `^[a-zA-Z0-9_\-\./:,]+$` | | `--pr` | digits only | | `--page` | positive integer | | `--page-size` | integer 1–500 | ### Step 4: Call `mcp__sonarqube__search_sonar_issues_in_projects` Include **`projects` only if** you resolved a project key in Step 1 **and** you want to target a non-default project; otherwise omit it and rely on the integration default. ```json { "projects": ["<only-if-needed>"], "severities": ["HIGH", "BLOCKER"], "impactSoftwareQualities": ["SECURITY"], "issueStatuses": ["OPEN"], "files": ["<project-key>:src/auth/login.py"], "pullRequestId": "<id>", "p": 1, "ps": 100 } ``` Omit any field that was not requested by the user. If `--rules` was given, filter the returned issues client-side by `rule` matching one of the supplied rule keys. ### Step 5: Format the results **If issues are found**, present a summary line then a table sorted by severity then line number: ```markdown ## SonarQube Issues — `my-project` 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 | 🟠 Critical / High | python:S2259 | Null dereference | | src/api/routes.py | 67 | 🟡 Medium | python:S3776 | Cognitive complexity too high | ``` Severity icons (the label depends on the server version): - 🔴 Blocker - 🟠 Critical / High - 🟡 Major / Medium - 🔵 Minor / Low - ⚪ Info If the response is paginated and more issues exist, mention the next page (e.g. *"Showing page 1 of N. Re-run with `--page 2` to see more."*). **If no issues are found**: ```markdown ## SonarQube Issues — `my-project` ✅ No issues found. ``` ### Step 6: Next steps - To fix a specific issue: *"Invoke the sonar-fix-issue skill with `<rule> <file>:<line>`."* - To check the quality gate: *"Invoke the sonar-quality-gate skill."*
Auf GitHub ansehen