Utilisation SVGBadges
Cet article présente l'utilisation du plugin.
Sommaire
Votre avis
Nobody voted on this yet
|
|
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 |
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 | ![]() |
Cas erreur | ![]() |
Documentation officielle: https://github.com/QualInsight/qualinsight-plugins-sonarqube-badges/wiki/Quality-Gate-status-badges
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. | ![]() |
comment_lines_density | Pourcentage de commentaires. | ![]() |
public_documented_api_density | Pourcentage des fonctions publiques commentées. | ![]() |
function_complexity | Compléxité par fonction. | ![]() |
tests_errors | Nombre de tests en erreur. | ![]() |
tests_failures | Nombre de tests en échec. | ![]() |
skipped_tests | Nombre de tests ignorés. | ![]() |
test_success_density | Pourcentage de tests en succès. | ![]() |
coverage | Pourcentage de couverture de code sur les tests unitaires. | ![]() |
new_coverage | Pourcentage de couverture de code sur les tests unitaires et le nouveau code. | ![]() |
it_coverage | Pourcentage de couverture de code sur les tests intégration. | ![]() |
new_it_coverage | Pourcentage de couverture de code sur les tests intégration et le nouveau code. | ![]() |
overall_coverage | Pourcentage global de couverture de code sur les tests. | ![]() |
new_overall_coverage | Pourcentage global de couverture de code sur les tests et le nouveau code. | ![]() |
duplicated_lines_density | Pourcentage de lignes dupliquées. | ![]() |
blocker_violations | Nombre de violations bloquantes. | ![]() |
critical_violations | Nombre de violations critiques. | ![]() |
new_blocker_violations | Nombre de nouvelles violations bloquantes. | ![]() |
new_critical_violations | Nombre de nouvelles violations critiques. | ![]() |
code_smells | Nombre de violations de catégorie code smell. | ![]() |
new_code_smells | Nombre de nouvelles violations de catégorie code smell. | ![]() |
bugs | Nombre de violations de catégorie bug. | ![]() |
new_bugs | Nombre de nouvelles violations de catégorie bug. | ![]() |
vulnerabilities | Nombre de violations de catégorie vulnérabilité. | ![]() |
new_vulnerabilities | Nombre de nouvelles violations de catégorie vulnérabilité. | ![]() |
sqale_debt_ratio | Dette technique. | ![]() |
new_sqale_debt_ratio | Dette technique sur le nouveau code. | ![]() |
Documentation officielle: https://github.com/QualInsight/qualinsight-plugins-sonarqube-badges/wiki/Measure-badges
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. . Ceci fait partie des limitations connues du plugin.
Documentation officielle: https://github.com/QualInsight/qualinsight-plugins-sonarqube-badges/wiki/Compute-Engine-Activity-badges
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
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