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)

Aller à l'installation

Informations de source

Dépôt
SonarSource/sonarqube-agenthq-plugin
Dernière activité de la source
19 mai 2026 à 12:35
Langue détectée de SKILL.md
anglais
Étoiles
0
Forks
1

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
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."*
Voir sur GitHub