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)

Ir para a instalação

Informações da origem

Repositório
SonarSource/sonarqube-agenthq-plugin
Última atividade na origem
19 de maio de 2026 às 12:35
Idioma detectado do SKILL.md
inglês
Estrelas
0
Forks
1

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
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."*
Ver no GitHub