Personalizar un flujo de trabajo de verificación de calidad de código
Tabla de contenidos
Ahora que comprendes los conceptos básicos de la automatización de flujos de trabajo de calidad de código con GitHub y SonarQube en sandboxes de E2B, puedes personalizar el flujo de trabajo según tus necesidades.
Centrarse en problemas de calidad específicos
Modifica el prompt para priorizar ciertos tipos de problemas:
const prompt = `Usando las herramientas MCP de SonarQube y GitHub:
Céntrate solo en:
- Vulnerabilidades de seguridad (prioridad CRÍTICA)
- Errores (prioridad ALTA)
- Omite los fallos de diseño (code smells) en esta iteración
Analiza "${repoPath}" y corrige primero los problemas de mayor prioridad.`;prompt = f"""Usando las herramientas MCP de SonarQube y GitHub:
Céntrate solo en:
- Vulnerabilidades de seguridad (prioridad CRÍTICA)
- Errores (prioridad ALTA)
- Omite los fallos de diseño (code smells) en esta iteración
Analiza "{repo_path}" y corrige primero los problemas de mayor prioridad."""Integrar con CI/CD
Agrega este flujo de trabajo a GitHub Actions para que se ejecute automáticamente en las pull requests:
name: Automated quality checks
on:
pull_request:
types: [opened, synchronize]
jobs:
quality:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v5
with:
node-version: "24"
- run: npm install
- run: npx tsx 06-quality-gated-pr.ts
env:
E2B_API_KEY: ${{ secrets.E2B_API_KEY }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONARQUBE_TOKEN: ${{ secrets.SONARQUBE_TOKEN }}
GITHUB_OWNER: ${{ github.repository_owner }}
GITHUB_REPO: ${{ github.event.repository.name }}
SONARQUBE_ORG: your-org-keyname: Automated quality checks
on:
pull_request:
types: [opened, synchronize]
jobs:
quality:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: "3.14"
- run: pip install e2b python-dotenv
- run: python 06_quality_gated_pr.py
env:
E2B_API_KEY: ${{ secrets.E2B_API_KEY }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONARQUBE_TOKEN: ${{ secrets.SONARQUBE_TOKEN }}
GITHUB_OWNER: ${{ github.repository_owner }}
GITHUB_REPO: ${{ github.event.repository.name }}
SONARQUBE_ORG: your-org-keyFiltrar por patrones de archivos
Dirígete a partes específicas de tu base de código:
const prompt = `Analiza la calidad del código pero solo considera:
- Archivos en src/**/*.js
- Excluye archivos de prueba (*.test.js, *.spec.js)
- Excluye artefactos de compilación en dist/
Céntrate únicamente en el código de producción.`;prompt = """Analiza la calidad del código pero solo considera:
- Archivos en src/**/*.js
- Excluye archivos de prueba (*.test.js, *.spec.js)
- Excluye artefactos de compilación en dist/
Céntrate únicamente en el código de producción."""Establecer umbrales de calidad
Define cuándo se deben crear las PR:
const prompt = `Umbrales de control de calidad (quality gate):
- Solo crea la PR si:
* El recuento de errores (bugs) disminuye en al menos 1
* No se introducen nuevas vulnerabilidades de seguridad
* La cobertura de código no disminuye
* La deuda técnica se reduce en al menos 15 minutos
Si los cambios no cumplen con estos umbrales, explica el motivo y omite la creación de la PR.`;prompt = """Umbrales de control de calidad (quality gate):
- Solo crea la PR si:
* El recuento de errores (bugs) disminuye en al menos 1
* No se introducen nuevas vulnerabilidades de seguridad
* La cobertura de código no disminuye
* La deuda técnica se reduce en al menos 15 minutos
Si los cambios no cumplen con estos umbrales, explica el motivo y omite la creación de la PR."""Siguientes pasos
Aprende cómo solucionar problemas comunes.