Compartir comentarios
Las respuestas se generan en base a la documentación.

Personalizar un flujo de trabajo de verificación de calidad de código

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-key
name: 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-key

Filtrar 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.