Utilisation SVGBadges

De EjnTricks
Révision de 16 mars 2018 à 00:31 par Etienne (discussion | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

Cet article présente l'utilisation du plugin.

Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


Icon Personnalisation.png Métriques

Trois nouveaux services sont mis à disposition en fonction du type de données interrogées, dont la partie commune des l'URL est api/badges/, attention à ne pas oublier la racine de l'instance SonarQube si elle a été mise en place. Tous les serveices ont des arguments communs.

Argument Description Valeur possible
blinking Affiche le badge avec un clignotement si la mesure est en erreur.

Optionnel

false (défaut)

true

key Clé du projet. Obligatoire
template Forme du badge. ROUNDED (défaut)

FLAT


Robot-icon.png Qualité

Le premier service permet d'afficher un badge en fonction de la qualité globale du projet. Le modèle de l'URL est le suivant : /api/badges/gate?key=<project or view key>.

Cas de succès SVGBadge gate ok.png Cas erreur SVGBadge gate ko.png

Documentation officielle: https://github.com/QualInsight/qualinsight-plugins-sonarqube-badges/wiki/Quality-Gate-status-badges


Icon-log.png Métriques

Le second service permet d'afficher un badge en fonction des métriques du projet. Le modèle de l'URL est le suivant : /api/badges/measure?key=<project or view key>&metric=<metric key>

Le nombre de possibilité est assez importante.

Argument Description Rendu
ncloc Nombre de lignes de code. SVGBadge ncloc.png
comment_lines_density Pourcentage de commentaires. SVGBadge comment lines density.png
public_documented_api_density Pourcentage des fonctions publiques commentées. SVGBadge public documented api density.png
function_complexity Compléxité par fonction. SVGBadge function complexity.png
tests_errors Nombre de tests en erreur. SVGBadge tests errors.png
tests_failures Nombre de tests en échec. SVGBadge tests failures.png
skipped_tests Nombre de tests ignorés. SVGBadge skipped tests.png
test_success_density Pourcentage de tests en succès. SVGBadge test success density.png
coverage Pourcentage de couverture de code sur les tests unitaires. SVGBadge coverage.png
new_coverage Pourcentage de couverture de code sur les tests unitaires et le nouveau code. SVGBadge new coverage.png
it_coverage Pourcentage de couverture de code sur les tests intégration. SVGBadge it coverage.png
new_it_coverage Pourcentage de couverture de code sur les tests intégration et le nouveau code. SVGBadge new it coverage.png
overall_coverage Pourcentage global de couverture de code sur les tests. SVGBadge overall coverage.png
new_overall_coverage Pourcentage global de couverture de code sur les tests et le nouveau code. SVGBadge new overall coverage.png
duplicated_lines_density Pourcentage de lignes dupliquées. SVGBadge duplicated lines density.png
blocker_violations Nombre de violations bloquantes. SVGBadge blocker violations.png
critical_violations Nombre de violations critiques. SVGBadge critical violations.png
new_blocker_violations Nombre de nouvelles violations bloquantes. SVGBadge new blocker violations.png
new_critical_violations Nombre de nouvelles violations critiques. SVGBadge new critical violations.png
code_smells Nombre de violations de catégorie code smell. SVGBadge code smells.png
new_code_smells Nombre de nouvelles violations de catégorie code smell. SVGBadge new code smells.png
bugs Nombre de violations de catégorie bug. SVGBadge bugs.png
new_bugs Nombre de nouvelles violations de catégorie bug. SVGBadge new bugs.png
vulnerabilities Nombre de violations de catégorie vulnérabilité. SVGBadge vulnerabilities.png
new_vulnerabilities Nombre de nouvelles violations de catégorie vulnérabilité. SVGBadge new vulnerabilities.png
sqale_debt_ratio Dette technique. SVGBadge sqale debt ratio.png
new_sqale_debt_ratio Dette technique sur le nouveau code. SVGBadge new sqale debt ratio.png


Documentation officielle: https://github.com/QualInsight/qualinsight-plugins-sonarqube-badges/wiki/Measure-badges


Mylogs-icon.png Activité

Le troisième service permet d'afficher un badge concernant l'activité sur le projet, si il est en succès / en cours d'analyse / en erreur. Le modèle de l'URL est le suivant : /api/badges/ce_activity?key=<project or view key>

Cependant, celui-ci n'est pas très utile car les sécurité sur cette métrique, voir la documentation de l'API api/ce/activity nécessite un des privilèges suivants.

  • Administration système;
  • Administration du projet.

Donc il est courant que cela ne soit pas le cas, et le rendu va indiquer que le projet n'est pas connu. SVGBadge ce activity.png. Ceci fait partie des limitations connues du plugin.

Documentation officielle: https://github.com/QualInsight/qualinsight-plugins-sonarqube-badges/wiki/Compute-Engine-Activity-badges


Icon Personnalisation.png Exemple d'utilisation

A l'aide de ces accès, il est alors possible d'injecter des badges dans des pages Web. Pour cet article, les badges sont injectés dans la description du job Jenkins exécutant l'analyse Sonar du projet.

Ainsi, il est possible d'avoir quelques métriques directement lisibles depuis le projet comme sur cet exemple : http://www.jenkins.jouvinio.net/jenkins/job/tutorial_apache_commons


Tool-box.png Administration

Ce plugin peut être administration dans la page d'administration de SonarQube. Une nouvelle section SVG Badges est disponible dans le panneau de gauche.


Sur cette section, il est possible d'activer / désactiver les différentes API relatives à ce plugin.


Par défaut, toutes les APIs sont disponibles. Pour en désactiver une, il suffit de cliquer sur l'interrupteur qui devient grisé. La section, relative à l'API modifiée, devient surlignée en cas de changement du statut.


Enfin de valider le changement, il faut cliquer sur le bouton Save. Dans le cadre de cet article l'API relative aux activités est désactivé, car pas facilement exploitable comme indiqué dans le précédent paragraphe.


Une fois désactivé, l'appel à l'API ne retournera aucune donnée.

Documentation officielle: https://github.com/QualInsight/qualinsight-plugins-sonarqube-badges/wiki/Configuration