✓ Verified
💻 Development
✓ Enhanced Data
Sonarqube Analyzer
Analisa projetos no SonarQube self-hosted, obtém issues e sugere soluções automatizadas.
- Rating
- 3.9 (263 reviews)
- Downloads
- 13,451 downloads
- Version
- 1.0.0
Overview
Analisa projetos no SonarQube self-hosted, obtém issues e sugere soluções automatizadas.
Complete Documentation
View Source →SonarQube Analyzer Skill
Analisa projetos no SonarQube self-hosted, obtém issues e sugere soluções automatizadas.
Ferramentas Registradas
sonar_get_issues
Obtém lista de issues de um projeto/PR no SonarQube.Parâmetros:
projectKey(string, obrigatório): Chave do projetopullRequest(string, opcional): Número da PR para análise específicaseverities(string[], opcional): Severidades a filtrar (BLOCKER, CRITICAL, MAJOR, MINOR, INFO)status(string, opcional): Status das issues (OPEN, CONFIRMED, FALSE_POSITIVE, etc.)limit(number, opcional): Limite de issues (padrão: 100)
json
{
"projectKey": "openclaw-panel",
"pullRequest": "5",
"severities": ["CRITICAL", "MAJOR"],
"limit": 50
}
sonar_analyze_and_suggest
Analisa issues e sugere soluções com base nas regras do SonarQube.Parâmetros:
projectKey(string, obrigatório): Chave do projetopullRequest(string, opcional): Número da PRautoFix(boolean, opcional): Tentar aplicar correções automáticas (padrão: false)
json
{
"projectKey": "openclaw-panel",
"pullRequest": "5",
"autoFix": false
}
sonar_quality_gate
Verifica o status do Quality Gate de um projeto.Parâmetros:
projectKey(string, obrigatório): Chave do projetopullRequest(string, opcional): Número da PR
json
{
"projectKey": "openclaw-panel",
"pullRequest": "5"
}
Configuração
O skill usa as seguintes configurações do ambiente:
bash
SONAR_HOST_URL=http://127.0.0.1:9000 # URL do SonarQube
SONAR_TOKEN=admin # Token de autenticação
Uso
Analisar uma PR específica:
bash
node scripts/analyze.js --project=my-project --pr=5
Gerar relatório de issues:
bash
node scripts/report.js --project=my-project --format=markdown
Verificar Quality Gate:
bash
node scripts/quality-gate.js --project=my-project --pr=5
Estrutura de Resposta
sonar_get_issues
json
{
"total": 12,
"issues": [
{
"key": "...",
"severity": "MAJOR",
"component": "apps/web/src/ui/App.tsx",
"line": 346,
"message": "Extract this nested ternary...",
"rule": "typescript:S3358",
"status": "OPEN",
"solution": "Extract nested ternary into a separate function..."
}
],
"summary": {
"BLOCKER": 0,
"CRITICAL": 0,
"MAJOR": 2,
"MINOR": 10,
"INFO": 0
}
}
sonar_analyze_and_suggest
json
{
"projectKey": "openclaw-panel",
"analysis": {
"totalIssues": 12,
"fixableAutomatically": 8,
"requiresManualFix": 4
},
"suggestions": [
{
"file": "apps/web/src/ui/App.tsx",
"line": 346,
"issue": "Nested ternary operation",
"suggestion": "Extract into independent component",
"codeExample": "...",
"autoFixable": false
}
],
"nextSteps": [
"Run lint:fix for auto-fixable issues",
"Refactor nested ternaries in App.tsx",
"Replace || with ?? operators"
]
}
Soluções Automáticas Disponíveis
| Regra | Problema | Solução Automática | ||
|---|---|---|---|---|
| S6606 | Use \ | \ | instead of ?? | ✅ Substituir por ?? |
| S3358 | Nested ternary | ❌ Requer refatoração manual | ||
| S6749 | Redundant fragment | ✅ Remover fragment | ||
| S6759 | Non-readonly props | ✅ Adicionar readonly | ||
| S3776 | Cognitive complexity | ❌ Requer extração de componentes | ||
| S6571 | any in union type | ✅ Remover redundância |
Requisitos
- Node.js 18+
- Acesso ao SonarQube (localhost:9000)
- Token de autenticação configurado
Integração com Workflows
Exemplo de uso em GitHub Actions:
yaml
- name: Analyze with SonarQube Skill
run: |
npm install -g @felipeoff/sonarqube-analyzer
sonarqube-analyzer \
--project=my-project \
--pr=${{ github.event.pull_request.number }} \
--suggest-fixes
Installation
Terminal bash
openclaw install sonarqube-analyzer
Copied!
💻Code Examples
**Exemplo:**
exemplo.json
{
"projectKey": "openclaw-panel",
"pullRequest": "5",
"severities": ["CRITICAL", "MAJOR"],
"limit": 50
}**Exemplo:**
exemplo.json
{
"projectKey": "openclaw-panel",
"pullRequest": "5",
"autoFix": false
}**Exemplo:**
exemplo.json
{
"projectKey": "openclaw-panel",
"pullRequest": "5"
}SONAR_TOKEN=admin # Token de autenticação
sonartokenadmin--token-de-autenticao.txt
## Uso
### Analisar uma PR específica:node scripts/quality-gate.js --project=my-project --pr=5
node-scriptsquality-gatejs---projectmy-project---pr5.txt
## Estrutura de Resposta
### sonar_get_issues}
.txt
## Soluções Automáticas Disponíveis
| Regra | Problema | Solução Automática |
|-------|----------|-------------------|
| S6606 | Use `\|\|` instead of `??` | ✅ Substituir por `??` |
| S3358 | Nested ternary | ❌ Requer refatoração manual |
| S6749 | Redundant fragment | ✅ Remover fragment |
| S6759 | Non-readonly props | ✅ Adicionar `readonly` |
| S3776 | Cognitive complexity | ❌ Requer extração de componentes |
| S6571 | `any` in union type | ✅ Remover redundância |
## Requisitos
- Node.js 18+
- Acesso ao SonarQube (localhost:9000)
- Token de autenticação configurado
## Integração com Workflows
Exemplo de uso em GitHub Actions:example.json
{
"total": 12,
"issues": [
{
"key": "...",
"severity": "MAJOR",
"component": "apps/web/src/ui/App.tsx",
"line": 346,
"message": "Extract this nested ternary...",
"rule": "typescript:S3358",
"status": "OPEN",
"solution": "Extract nested ternary into a separate function..."
}
],
"summary": {
"BLOCKER": 0,
"CRITICAL": 0,
"MAJOR": 2,
"MINOR": 10,
"INFO": 0
}
}example.json
{
"projectKey": "openclaw-panel",
"analysis": {
"totalIssues": 12,
"fixableAutomatically": 8,
"requiresManualFix": 4
},
"suggestions": [
{
"file": "apps/web/src/ui/App.tsx",
"line": 346,
"issue": "Nested ternary operation",
"suggestion": "Extract into independent component",
"codeExample": "...",
"autoFixable": false
}
],
"nextSteps": [
"Run lint:fix for auto-fixable issues",
"Refactor nested ternaries in App.tsx",
"Replace || with ?? operators"
]
}example.yml
- name: Analyze with SonarQube Skill
run: |
npm install -g @felipeoff/sonarqube-analyzer
sonarqube-analyzer \
--project=my-project \
--pr=${{ github.event.pull_request.number }} \
--suggest-fixesTags
#self_hosted-and-automation
Quick Info
Category Development
Model Claude 3.5
Complexity One-Click
Author felipeoff
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
Ready to Install?
Get started with this skill in seconds
openclaw install sonarqube-analyzer
Related Skills
✓ Verified
💻 Development
4claw
4claw — a moderated imageboard for AI agents.
🧠 Claude-Ready
)}
★ 4.4 (118)
↓ 4,990
v1.0.0
✓ Verified
💻 Development
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
🧠 Claude-Ready
)}
★ 4.3 (89)
↓ 4,621
v1.0.0
✓ Verified
💻 Development
Acestep Lyrics Transcription
Transcribe audio to timestamped lyrics using OpenAI Whisper or ElevenLabs Scribe API.
⚡ GPT-Optimized
)}
★ 3.8 (274)
↓ 17,648
v1.0.0
✓ Verified
💻 Development
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.
🧠 Claude-Ready
)}
★ 4.7 (88)
↓ 1,625
v1.0.0