Report Plugin per SonarQube™

Scarica un report in PDF da SonarQube
o crea un report personalizzato a partire da un modello ODT.

L'installazione richiede pochi e semplici passi.


  1. Utilizza il Centro di aggiornamento di bitegarden o copia il file .jar scaricato nel folder dei plugins di SonarQube™:

    $SONAR_HOME/extensions/plugins/
  2. Riavvia il server di SonarQube.
  3. Accedi come amministratore ed entra nel pannello di configurazione di SonarQube™. Seleziona il plugin.
  4. Incolla il numero della licencia e salva

Puoi utilizzarlo immediatamente, non è necessario eseguire una nuova analisi per poter scaricare i reports.

PROVA GRATUITA COMPRA ORA

Gestione dei reports di SonarQube


Puoi trovare tutti i report relativi a questo plugin nell'opzione "More ..." e poi "Reporting" nel menu dello spazio del progetto di SonarQube™.

Potrai scaricare tutti quelli disponibili nella pagina di gestione dei report:

- Executive PDF Summary Report: tutte le metriche più importanti in una pagina..
- Issue Breakdown PDF Summary Report: questo report in PDF estende il report esecutivo con il riassunto delle evidenze trovate per ogni regola (una pagina per ogni regola). Include metriche generali e il codice nuovo, e un riassunto delle evidenze trovate per ogni regola. de código nuevo, y un resumen de evidencias detectadas por regla.
- Full Issue Breakdown PDF Report: questo report in PDF estende l'Issues summary breakdown con tutte le informazioni sui problemi. Include metriche generali e nuove metriche del codice insieme a tutti i problemi basati sulle regole.
- Excel Report: Questo report Excel contiene tutte le informazioni per il tuo progetto. - Custom Open Document (ODT) Report: un report personalizzato generato da un modello Open Document che è possibile modificare.

Importante: La generazione di PDF richiede che i font siano installati sul server che ospita SonarQube. Sui server Windows, questo è un dato di fatto. Tuttavia, questo non è sempre il caso dei server Linux. Occorre garantire quanto segue:
- Fontconfig è installato sul server che ospita SonarQube
- Un pacchetto di font FreeType è installato sul server SonarQube. I pacchetti esatti disponibili variano a seconda della distribuzione, ma un pacchetto comunemente usato è libfreetype6
Scaricare un report da SonarQube management section

Pagina di gestione dei reports generata dal Report Plugin per SonarQube

Personalizza il modello Open Document (ODT) del progetto


Crea il tuo report personalizzato e configura il plugin per poterlo utilizzare attraverso le impostazioni di amministrazione

Report Plugin per SonarQube ™ consente di configurare il modello globalmente o per progetto. Inoltre, i modelli sono forniti tramite URL, quindi non è obbligatorio avere accesso alla macchina su cui è in esecuzione SonarQube ™.

Scarica il modello predefinito per visualizzare un esempio.

Configurazione di reports Open Document (ODT) personalizzabili


La creazione di un rapporto personalizzato risiede nelle impostazioni del modello. Il modello è un OpenDocument che può essere editato con Open Office o LibreOffice.

Per generare i modelli viene utilizzato un sottoinsieme di FreeMarker. Alcune espressioni valide sono:

  • ${ncloc} : Sostituisci l'espressione ncloc con il suo valore. Se ncloc non è disponibile in fase di esecuzione, la generazione del report si bloccherà.
  • ${ncloc!} : Sostituisci l'espressione ncloc con il suo valore, se esiste.
  • ${ncloc!"No lines"} : Sostituisci l'espressione ncloc con il suo valore, se esiste. In caso contrario, mostrerà "Nessuna riga".
  • [#if ncloc > 10000] : Se ncloc> 10000 mostriamo tutto fino a "else", altrimenti mostriamo il blocco di testo successivo.
    Big project
    [#else]
    Small project
    [/#if]

Devi stare attento a come OpenOffice / LibreOffice genera i modelli. Accade spesso che le espressioni non vengano salvate come un singolo elemento. Per risolvere questo, dobbiamo cliccare su "cancella formato diretto" (selezionare il testo e cliccare con il tasto destro).

Nota che tutte le espressioni devono essere ben formate e valutabili per funzionare correttamente.

Variabili disponibili per la progettazione del report


Le variabili disponibili sono tutte le metriche esistenti in SonarQube per il progetto, i trattini ('-') vengono sostituiti dai trattini bassi ('_').

Inoltre, puoi utilizzare queste variabili per inserire i metadati del progetto:

Variabili

project_name: Nome del progetto, dell'app o del portfolio SonarQube
project_key: Chiave del progetto SonarQube, dell'app o del portfolio
project_version: Progetto SonarQube, versione app o portfolio
analysis_date: Data di analisi del progetto SonarQube o dell'app
project_analysis_id: ID del progetto SonarQube o dell'analisi dell'app
branch_name: Nome del progetto SonarQube o del ramo dell'app
project_quality_gate_id: Nome del progetto SonarQube o del ramo dell'app
project_quality_gate_name: Nome del progetto SonarQube, dell'app o del portfolio Quality Gate
project_quality_gate_is_default: Restituisce true se il progetto SonarQube, l'app o il portfolio Quality Gate è predefinito o false in caso contrario
isPullRequest: Restituisce true se il report è generato da Pull Request o false in caso contrario
pull_request: Restituisce la chiave della richiesta pull (se il rapporto viene generato dalla richiesta pull)

Elenchi

issues_breakdown: Elenco con tutti i problemi ordinati per gravità e conteggio

severity: Gravità del problema

ruleMessage: Informazioni sul messaggio della regola

type: Tipo di problema (Bug, Vulnerability, Code Smell)

ruleLanguageName: Linguaggio di emissione (Java, Javascript,...)

issueCount: Problemi totali per una regola specifica


Esempio:
              [#list issues_breakdown as issue]
                  Gravità     : ${issue.severity}
                  Regola      : ${issue.ruleMessage}
                  Tipo        : ${issue.type}
                  Lingua      : ${issue.ruleLanguageName}
                  Questioni   : ${issue.issueCount}
              [/#list]
          

Oggetti

quality_gate_details

status: Stato del cancello di qualità del progetto

conditions: Elenco con le condizioni di Quality Gate

message: Messaggio di condizione

value: Condizione valore effettivo

status: Stato della condizione

threshold: Soglia condizione configurata

comparator: Tipo di comparatore di condizioni (>,<,=,≠)

type: Tipo di condizione (RATING,PERCENTAGE,NUMBER)


Example:
            Stato del progetto: ${quality_gate_details}
            Condizioni: [#list quality_gate_details.conditions as condition]
                                Messaggio di condizione     : ${condition.message}
                                Valore della condizione     : ${condition.value}
                                Stato della condizione      : ${condition.status}
                                Soglia di condizione        : ${condition.threshold}
                                Comparatore di condizioni   : ${condition.comparator}
                                Tipo di condizioni          : ${condition.type}
            [#/list]
          

sonarqube_project

key: chiave del progetto, dell'app o del portfolio SonarQube

name: nome del progetto, dell'app o del portfolio SonarQube

lastAnalysis: data dell'ultima analisi del progetto SonarQube (solo sui progetti)

versione: versione del progetto SonarQube (solo su progetti)

sonarQubeQualifierKey: chiave del qualificatore di progetti, app o portfolio SonarQube (TRK, APP, VM, SVW)

sonarQubeQualifierName: nome del qualificatore del progetto, dell'app o del portfolio SonarQube (PROGETTO, APPLICAZIONE, PORTFOLIO)

sonarQubeQualifierTranslated: qualificatore di progetto, app o portfolio SonarQube tradotto (progetto, applicazione, portfolio)

qualityGateStatus: progetto SonarQube, app o portfolio quality gate (OK, ERROR, NONE)

branchName: nome della filiale del progetto SonarQube

isMainBranch: Definisci se il ramo selezionato è principale o meno (true, false) Nota: i valori sono stringhe non booleane


Esempio:
            Chiave del progetto: ${sonarqube_project.key}
            Nome progetto: ${sonarqube_project.name}
            Ultima analisi del progetto: ${sonarqube_project.lastAnalysis}
            Versione progetto: ${sonarqube_project.version}
            Chiave qualificatore progetto: ${sonarqube_project.sonarQubeQualifierKey}
            Nome qualificatore progetto: ${sonarqube_project.sonarQubeQualifierName}
            Qualificatore di progetto tradotto: ${sonarqube_project.sonarQubeQualifierTranslated}
            Porta di qualità del progetto: ${sonarqube_project.qualityGateStatus}
            Nome del ramo del progetto: ${sonarqube_project.branchName}
            È il ramo principale: ${sonarqube_project.isMainBranch}
          

Dai un'occhiata al modello predefinito per vedere un esempio di come funziona.

Comincia subito a scaricare i reports da SonarQube™!



PROVA GRATUITA

Licenza di prova

  • Licenza di prova di 14 giorni
  • Dopo aver compilato il modulo potrai scaricare il file che include la licenza di prova
  • Compilando il modulo potrai scaricare la versione compatibile con LTS, visita la pagina di download per altre versioni