Report Plugin for SonarQube™

Descarga un informe en PDF limpio y minimalista
o genere su propio informe de proyecto a partir de una plantilla ODT totalmente personalizable

La instalación es muy sencilla


  1. Usa el centro de actualizaciones de bitegarden o copia el .jar descargado en la carpeta de plugins de SonarQube™:

    $SONAR_HOME/extensions/plugins/
  2. Reinicia el servidor de SonarQube.
  3. Inicia sesión como administrador y accede a la configuración global de SonarQube™. Selecciona el plugin en la configuración general.
  4. Pega la clave de la licencia y guarda

No se requiere lanzar un nuevo análisis para poder descargar los informes.

Probar Comprar

Gestión de Informes


Puedes encontrar todos los informes relacionados con este plugin en la opción "More..." y después "Reporting" dentro del menu del espacio de proyecto de SonarQube™.

Podrás descargar en la página de gestión de informes todos los que estén disponibles:

- Resumen ejecutivo en PDF: un sencillo y limpio informe con toda la información en una sola página.
- Informe de resumen de evidencias en PDF: ste informe en PDF extiende el informe ejecutivo con el resumen de las evidencias detectadas por regla (una página por regla). Incluye métricas generales y de código nuevo, y un resumen de evidencias detectadas por regla.
- Resumen ejecutivo en PDF: Este informe en PDF extiende el informe resumen de evidencias con el detalle de todas las evidencias detectadas por regla. Incluye métricas generales y de código nuevo, y todas las evidencias detectadas por regla.
- Informe Excel: Este informe en excel contiene toda la información importante para tu proyecto. Incluye el resumen ejecutivo así como todas las evidencias detectadas por las distintas reglas.
- Informe personalizado con Open Document (ODT): un informe personalizado creado utilizando una plantilla que puedes modificar para crear nuevos informes.

Importante: La generación de PDF requiere que las fuentes estén instaladas en el servidor SonarQube. En los servidores de Windows, esto es un hecho. Sin embargo, este no es siempre el caso de los servidores Linux. Se debe asegurar lo siguiente:
- Fontconfig está instalado en el servidor que aloja SonarQube
- El paquete de fuentes FreeType está instalado en el servidor de SonarQube. Los paquetes exactos disponibles variarán según la distribución, pero un paquete de uso común es libfreetype6
report management section

Página de Gestión de Informes proporcionada por el plugin

Personaliza tu plantilla Open Document (ODT) de proyecto


Crea tu plantilla personalizada y configura el plugin para poder usarla a través de la configuración de administración

Descarga la plantilla por defecto para ver un ejemplo de como utilizarla.

Report Plugin for SonarQube™ te permite configurar la plantilla de manera global o por proyecto. Además, las plantillas se proveen a través de URLs, por lo que no es obligatorio tener acceso a la máquina donde SonarQube™ está ejecutándose.

Configuración de informes Open Document (ODT) personalizados


La creación de un informe personalizado reside en la configuración de la plantilla. La plantilla es un OpenDocument que puede ser editado con OpenOffice o LibreOffice.

Para generar las plantillas, un subconjunto de FreeMarker es usado. Algunas expresiones válidas son:

  • ${ncloc} : Reemplaza la expresión ncloc son su valor. Si ncloc no está disponible en el momento de la ejecución, la generación del informe se paralizará.
  • ${ncloc!} : Reemplaza la expresión ncloc son su valor si éste existe.
  • ${ncloc!"No lines"} : Reemplaza la expresión ncloc son su valor si éste existe. Si no, mostrará "No hay líneas"
  • [#if ncloc > 10000] : Si ncloc > 10000 mostramos todo hasta "else", de lo contrario, mostramos el siguiente bloque de texto.
    Big project
    [#else]
    Small project
    [/#if]

Debe tener cuidado con cómo OpenOffice/LibreOffice genera las plantillas. A menudo sucede que las expresiones no se guardan como un solo elemento. Para solucionar esto, debemos hacer clic en "borrar formato directo" (seleccionar texto y hacer clic con el botón derecho).

Tenga en cuenta que, para que funcione correctamente, todas las expresiones deben estar bien formadas y deben ser evaluables.

Variables disponibles para el diseño de informes


Las variables disponibles son todas las métricas existentes en SonarQube para el proyecto, donde los guiones ('-') han sido reemplazados por subrayados ('_').

Además, puedes utilizar estas variables para introducir metadatos del proyecto:

Variables

project_name: Nombre del proyecto, app o portfolio de SonarQube
project_key: Clave del proyecto, app o portfolio de SonarQube
project_version: Versión del proyecto, app o portfolio de SonarQube
analysis_date: Fecha de análisis del proyecto o app de SonarQube
project_analysis_id: Identificador del análisis del proyecto o app de SonarQube
branch_name: Nombre de la rama del proyecto o app de SonarQube
project_quality_gate_id: Identificador del Quality Gate del proyecto, app o portfolio de SonarQube
project_quality_gate_name: Nombre del Quality Gate del proyecto, app o portfolio de SonarQube
project_quality_gate_is_default: Devuelve true si el Quality Gate del proyecto, app o portfolio de SonarQube es el de por defecto o false si no lo es
isPullRequest: Devuelve true si el reporte es generado desde una Pull Request o false si no lo es
pull_request: Devuelve la clave de la Pull Request (si el reporte es generado desde una Pull Request)

Listas

issues_breakdown: Lista con todas las issues ordenadas por severidad y cantidad

severity: Severidad de la issue

ruleMessage: Mensaje de la regla

type: Tipo de Issue (Bug, Vulnerability, Code Smell)

ruleLanguageName: Lenguaje de la Issue (Java, Javascript,...)

issueCount: Total de issues por regla


Ejemplo:
              [#list issues_breakdown as issue]

                  Severity  : ${issue.severity}
                  Rule      : ${issue.ruleMessage}
                  Type      : ${issue.type}
                  Language  : ${issue.ruleLanguageName}
                  Issues    : ${issue.issueCount}

              [/#list]
            

Objetos

quality_gate_details

status: Estado del Quality Gate del proyecto

conditions: Lista con las condiciones del Quality Gate

message: Mensaje de la condición

value: Valor actual de la condición

status: Estado de la condición

threshold: Threshold de la condición configurado

comparator: Tipo de comparador de la condición(>,<,=,≠)

type: Tipo de condición (RATING,PERCENTAGE,NUMBER)


Ejemplo:
            Project status: ${quality_gate_details}
            Conditions: [#list quality_gate_details.conditions as condition]
                                Condition message   : ${condition.message}
                                Condition value     : ${condition.value}
                                Condition status    : ${condition.status}
                                Condition threshold : ${condition.threshold}
                                Condition comparator: ${condition.comparator}
                                Condition type      : ${condition.type}
            [#/list]
          

sonarqube_project

key: Clave del proyecto, app o portfolio de SonarQube

name: Nombre del proyecto, app o portfolio de SonarQube

lastAnalysis: Último análisis del proyecto, app o portfolio de SonarQube

version: Versión del proyecto de SonarQube(Solo proyectos)

sonarQubeQualifierKey: Clave del calificativo del proyecto, app o portfolio de SonarQube (TRK, APP, VM, SVW)

sonarQubeQualifierName: Nombre del calificativo del proyecto, app o portfolio de SonarQube (PROJECT, APPLICATION, PORTFOLIO)

sonarQubeQualifierTranslated: Nombre traducido del calificativo del proyecto, app o portfolio de SonarQube (Proyecto, Aplicación, Portfolio)

qualityGateStatus: Estado del QualityGate del proyecto, app o portfolio de SonarQube (OK, ERROR, NONE)

branchName: Nombre de la rama

isMainBranch: Dice si la rama selecciona es la principal o no (true, false) Nota: Los valores son cadenas de texto no booleanos


Ejemplo:
            Project Key: ${sonarqube_project.key}
            Project Name: ${sonarqube_project.name}
            Project Last Analysis: ${sonarqube_project.lastAnalysis}
            Project Version: ${sonarqube_project.version}
            Project Qualifier Key: ${sonarqube_project.sonarQubeQualifierKey}
            Project Qualifier Name: ${sonarqube_project.sonarQubeQualifierName}
            Project Qualifier Translated: ${sonarqube_project.sonarQubeQualifierTranslated}
            Project Quality Gate: ${sonarqube_project.qualityGateStatus}
            Project Branch Name: ${sonarqube_project.branchName}
            Is Main Branch: ${sonarqube_project.isMainBranch}
          

Comprueba la plantilla por defecto para ver ejemplos de como funciona.

¡Obtén informes de SonarQube™ ya!



  • Licencia de evaluación de 14 días
  • Tras completar el formulario descargarás el fichero que incluye la clave de evaluación
  • Usando este formulario descargarás la versión compatible con LTS, visita descargas para otras versiones