Aller au contenu

Configurer Xsquash4Jira dans SquashTM

Info

Cette page est dédiée à la configuration générale du plugin Xsquash4Jira. Pour la configuration des synchronisations en elles-mêmes, consulter la page Gérer les synchronisations Xsquash4Jira dans SquashTM.
Pour en savoir plus sur les fonctionnalités de Xsquash4Jira, consulter la page Synchroniser des objets agiles Jira dans SquashTM.

Le plugin Xsquash4Jira est un plugin SquashTM dĂ©diĂ© Ă  la synchronisation de tickets depuis Jira Data Center et Jira Cloud. Il s'articule autour des fonctionnalitĂ©s suivantes :

  • un module de synchronisation automatique qui permet Ă  SquashTM d'importer et de maintenir automatiquement Ă  jour :
    • des tickets Jira (Data Center et Cloud) sous forme d'exigences synchronisĂ©es dans l'espace Exigences ;
    • des sprints Jira (Data Center et Cloud) ainsi que leur contenu sous forme de sprints synchronisĂ©s dans l'espace ExĂ©cutions. Cette fonctionnalitĂ© permet de voir dans l'espace ExĂ©cutions les tickets d'un sprint Ă  valider et d'alimenter automatiquement le plan d'exĂ©cution du sprint avec les tests associĂ©s aux tickets ;
  • un module de reporting qui permet d'afficher sur les tickets Jira des informations concernant le dĂ©roulement de la recette dans SquashTM. Ces informations prennent la forme de champs personnalisĂ©s Ă  ajouter sur les tickets Jira qui sont ensuite complĂ©tĂ©s par SquashTM ;
  • un module de crĂ©ation de plan de test Ă  partir des objets Jira accessible depuis l'espace ExĂ©cutions. Cet assistant permet de crĂ©er des plans de test Ă  partir d'un filtre sur les versions livrĂ©es, les sprints ou des requĂŞtes JQL de Jira. Tous les cas de test associĂ©s aux tickets compris dans le pĂ©rimètre choisi sont proposĂ©s Ă  l'utilisateur afin d'ĂŞtre ajoutĂ©s au plan d'exĂ©cution.

Une partie des fonctionnalitĂ©s du plugin sont automatiques et se dĂ©clenchent seules une fois la configuration complète effectuĂ©e :

NomDéclenchementSens de circulation
Synchronisation des tickets JiraAutomatique une fois la configuration faiteDe Jira vers SquashTM
Synchronisation des sprints JiraAutomatique une fois la configuration faiteDe Jira vers SquashTM
Reporting des données de recette SquashTMAutomatique une fois la configuration faiteDe SquashTM vers Jira
Création d'un plan de test dans SquashTM à partir d'objets JiraManuel depuis l'espace Exécutions de SquashTMDe Jira vers SquashTM

Attention

Lors des opérations automatiques, le plugin n'effacera jamais d'objets synchronisés dans SquashTM (exigences et sprints) ou d'objets dans Jira (tickets et sprints). Si des objets venaient à être supprimés ou déplacés dans Jira, les objets synchronisés correspondants resteront dans SquashTM et devront être supprimés manuellement par les utilisateurs de SquashTM si nécessaire.

Installation et prérequis

Info

Le plugin Xsquash4Jira est embarqué par défaut dans la distribution de SquashTM Freeware. Il est donc déjà installé sur SquashTM.
Consulter la page suivante pour en savoir plus : Les plugins de SquashTM.

Communication SquashTM/Jira

Le plugin Xsquash4Jira est un plugin reposant sur une communication bidirectionnelle entre SquashTM et Jira. Il s'agit d'une communication de serveur Ă  serveur, passant essentiellement par l'API Rest de Jira. Pour que le plugin puisse fonctionner, il faut que la communication soit possible ce qui nĂ©cessite souvent des interventions sur l'infrastructure rĂ©seau : ouverture de flux dans les firewalls, ajout de certificats dans les JVM, etc.

Si le même serveur Jira est déjà utilisé avec succès en tant que bugtracker au moyen du plugin Jira Bugtracker, la communication est déjà possible.

En cas de problème, il faut effectuer un test directement sur le serveur SquashTM pour vĂ©rifier si Jira est accessible : essayer de passer une requĂŞte vers l'API Jira directement depuis le serveur hĂ©bergeant SquashTM au moyen d'un curl ou un wget. Si la requĂŞte ne passe pas, c'est un problème rĂ©seau.

Permissions du compte Jira

Pour fonctionner le plugin doit pouvoir communiquer avec Jira au travers d'un utilisateur Jira. Cet utilisateur doit avoir a minima des droits en lecture par l'API sur l'ensemble des objets à synchroniser (tickets et sprints). Si le reporting de SquashTM vers Jira est activé, l'utilisateur doit impérativement avoir des droits en écriture par l'API sur l'ensemble des tickets concernés.

Création du serveur Xsquash4Jira dans SquashTM

Pour utiliser le plugin Xsquash4Jira, il faut déclarer un serveur de synchronisation de type jira.xsquash dans l'espace Serveurs>Bugtrackers et serveurs de synchronisation de l'Administration SquashTM.

Dans la pop-up de création d'un nouveau serveur, renseigner le nom du serveur (nom libre), le type jira.xsquash et l'URL du Jira la plus simple possible puis cliquer sur [Ajouter]. Le plugin Xsquash4Jira est opérationnel avec Jira Data Center et Jira Cloud.

Ajouter un serveur Xsquash4Jira

Attention

Un serveur de synchronisation Xsquash4Jira ne peut être supprimé s'il est utilisé pour réaliser des synchronisations. Il faut supprimer au préalable les synchronisations avant de pouvoir supprimer le serveur.

Identifiants utilisés pour les synchronisations

Le plugin utilise l'API Jira pour récupérer les données avec une authentification de type "Basic Authentication" avec les identifiants d'un utilisateur Jira.

Focus

Selon le mode d'hĂ©bergement de Jira, les identifiants de l'utilisateur Jira sont : couple login/mot de passe pour Jira Data Center ou adresse mail/jeton d'API pour Jira Cloud. Pour plus d'informations sur les jetons d'API, consulter la page Jeton d'API pour Jira Cloud.

En savoir plus

Pour des raisons de sĂ©curitĂ©, les logins et mots de passe saisis pour la connexion aux outils tiers sont chiffrĂ©s dans la base de donnĂ©es avec une clĂ© de chiffrement. Le plugin Xsquash4Jira possède Ă©galement deux propriĂ©tĂ©s Ă  configurer directement dans le fichier de configuration de SquashTM squash.tm.cfg.properties. Pour en savoir plus, consulter la page suivante : Gestion du fichier de configuration SquashTM.

Deux options sont possibles pour effectuer les synchronisations.

Compte technique

Cette option permet d'effectuer toutes les synchronisations avec le même compte Jira. Dans ce cas, la bonne pratique conseillée est de créer un compte technique dédié au plugin dans Jira et disposant des droits nécessaires uniquement sur les projets Jira souhaités.

Ensuite, sur la page de configuration du serveur de synchronisation, dans le bloc Politique d'authentification, il est nécessaire de renseigner les identifiants du compte technique Jira dans la partie Identifiants du compte technique.

Page serveur Xsquash4Jira

Identifiants de l'utilisateur

Cette option permet d'effectuer les synchronisations avec des comptes Jira différents. Elle est utile lorsque les projets Jira sont cloisonnés en offrant davantage de contrôle sur le périmètre qui pourra être synchronisé. Dans ce cas, ce sont les identifiants du compte Jira de l'utilisateur propriétaire de la synchronisation qui sont utilisés. Il s'agit des identifiants renseignés dans le bloc Mode de configuration des bugtrackers de l'espace Mon compte. Par défaut, le propriétaire correspond à l'utilisateur qui a ajouté la synchronisation mais un autre utilisateur peut s'assigner la synchronisation par la suite.

Si cette option est choisie, sur la page de configuration du serveur de synchronisation, dans le bloc Politique d'authentification, il est nécessaire de laisser vides les champs dans la partie Identifiants du compte technique.

Configuration de Xsquash4Jira sur un projet

Les synchronisations de tickets et de sprints Jira se configurent individuellement pour chaque projet SquashTM. Cette configuration se fait au niveau de l'ancre Plugins Plugins de la page de consultation d'un projet.

Il faut commencer par activer le plugin Connecteur Xsquash4Jira pour pouvoir accéder à sa page de configuration spécifique depuis le bouton Configurer.

Pour désactiver l'utilisation du plugin sur le projet, il suffit de cliquer sur le même bouton radio que pour l'activer. L'option Conserver la configuration du plugin permet de sauvegarder durant la désactivation du plugin la configuration et les synchronisations du projet lorsqu'elle est cochée. Si l'option est décochée, la configuration et les synchronisations du projet sont définitivement supprimées à la désactivation du plugin.

Désactiver Xsquash4Jira

La page de configuration de Xsquash4Jira est accessible en cliquant sur le bouton Configurer présent en bout de ligne du Connecteur Xsquash4Jira.

Elle se compose de cinq blocs :

  • le bloc Synchronisations qui permet de configurer le pĂ©rimètre des synchronisations (consulter la page dĂ©taillĂ©e GĂ©rer les synchronisations);
  • le bloc Champs de reporting SquashTM vers Jira qui permet de configurer le reporting de l'avancement de la recette sur les tickets Jira ;
  • le bloc Équivalences entre les champs qui permet de configurer les Ă©quivalences entre les champs Jira et les champs SquashTM ;
  • le bloc Équivalences entre les valeurs des champs qui permet de configurer les Ă©quivalences de valeurs pour les champs de type liste : CriticitĂ©, CatĂ©gorie et Statut ;
  • le bloc Équivalences des liens entre exigences qui permet de configurer les Ă©quivalences des liens entre tickets Jira en liens entre exigences dans SquashTM.

Configurer le reporting de SquashTM vers Jira

Le plugin Xsquash4Jira est capable de remonter vers Jira des informations relatives à la recette réalisée dans SquashTM. Ces informations sont reportées directement au niveau des tickets Jira dans des champs personnalisés configurés à cet effet.

Sept informations sont disponibles : trois taux d'avancement de la recette (RĂ©daction des cas de test, VĂ©rification des tickets Jira, Validation des tickets Jira), trois ratios reprenant ces taux d'avancement ainsi que le nombre de tests concernĂ©s, et enfin un champ qui prĂ©sente une analyse synthĂ©tique de ces trois taux : le champ Statut de la recette.

Ce reporting est optionnel. Il est possible de configurer le plugin de sorte à ne rien récupérer dans Jira ou ne récupérer qu'une partie de ces informations.

Focus

Les champs Taux et Ratios contiennent des informations similaires. Il est donc inutile de tous les synchroniser et plus intéressant de faire un choix entre les taux et les ratios.
La différence se fait sur la forme. Les champs Taux renvoient un nombre simple compris entre 0 et 100.
Les champs Ratio reprennent dans une chaîne de caractères le nombre remonté dans le taux avec le symbole % suivi du nombre de tests concernés (X/Y tests).

Création des champs de reporting dans Jira

Le reporting dans Jira s'effectue au moyen de champs personnalisĂ©s Ă  rajouter directement dans les tickets Jira concernĂ©s par la synchronisation :

Information de recetteChamps personnalisés à créer côté Jira
Taux d'avancement (Rédaction, Vérification, Validation)Dans Jira, il faut créer un champ personnalisé de type numérique pour chacun des trois taux proposés par le plugin que l'on souhaite récupérer dans Jira. Le nom est libre.
Ratios d'avancement (Rédaction, Vérification, Validation)Dans Jira, il faut créer un champ personnalisé de type texte (mono-ligne) pour chacun des trois ratios proposés par le plugin que l'on souhaite récupérer dans Jira. Le nom est libre.
Statut de la recetteDans Jira, il faut créer un champ personnalisé de type texte (mono-ligne) pour le champ "Statut de la recette". Le type de moteur de rendu pour le champ doit être "Générateur de rendu de style Wiki" pour permettre d'afficher les icônes. Le nom est libre.

Les champs personnalisĂ©s Jira créés doivent ensuite :

  • ĂŞtre affectĂ©s Ă  tous les types de tickets qui sont susceptibles d'ĂŞtre synchronisĂ©s dans SquashTM ;
  • ĂŞtre accessibles dans les Ă©crans de modification des types de tickets et des projets concernĂ©s ;
  • ĂŞtre modifiables par l'utilisateur technique dĂ©clarĂ© dans SquashTM.

Le nom des champs déclaré dans Jira est libre. Attention néanmoins à ce que tous les tickets Jira concernés par les synchronisations d'un même projet SquashTM aient les mêmes champs puisque dans SquashTM la configuration se fait au niveau du projet.

Ces champs sont ensuite alimentés par SquashTM en fonction de l'avancement de la recette et remontés dans Jira à chaque cycle de mise à jour si nécessaire.

Configuration des champs de reporting dans SquashTM

Dans SquashTM, la configuration du reporting s'effectue dans le second bloc de l'Ă©cran de configuration du plugin Xsquash4Jira : Champs de reporting SquashTM vers Jira. Pour les configurer, il faut renseigner en face des donnĂ©es que l'utilisateur souhaite rĂ©cupĂ©rer, les noms des champs personnalisĂ©s correspondants créés dans Jira en respectant bien la casse.
Une fois la configuration du bloc terminée, il ne faut pas oublier de bien forcer la synchronisation pour que la modification soit prise en compte.
Si l'utilisateur ne désire aucun reporting dans Jira, il suffit de laisser les champs du bloc vides.

Champs de reporting SquashTM vers Jira

Taux de RĂ©daction :

Ce taux permet de suivre l'avancement de la rĂ©daction des cas de test. Pour une exigence synchronisĂ©e donnĂ©e ce taux est Ă©gal Ă  :
Nombre de cas de test couvrant l'exigence ou l'une de ses descendantes et au statut "À Valider" ou "Validé" / Nombre de cas de test couvrant l'exigence ou l'une de ses descendantes quel que soit le statut.
Si une exigence n'est pas couverte, le taux vaut 0.

Ratio de RĂ©daction :

Ce champ reprend la valeur du taux de rédaction suivi du nombre de cas de test concernés (X/Y cas de test).

Taux de VĂ©rification :

Ce taux permet de suivre l'avancement de l'exĂ©cution des cas de test liĂ©s Ă  une exigence ou Ă  l'une de ses filles. Pour une exigence synchronisĂ©e donnĂ©e ce taux est Ă©gal Ă  :
Nombre d'items de plan d'exécution liés à un CT couvrant l'exigence synchronisée ou l'une de ses descendantes ayant un statut d'exécution final ("Bloqué", "Échec", "Non testable", "Succès", "Arbitré"), en ne tenant compte que de la dernière exécution (ou du dernier fastpass) / Nombre d'items liés à des cas de test couvrant l'exigence synchronisée ou l'une de ses descendantes.

Ratio de VĂ©rification :

Ce champ reprend la valeur du taux de vérification suivi du nombre de cas de test concernés (X/Y cas de test).

Taux de Validation :

Ce taux permet de suivre la validation d'une exigence. Pour une exigence synchronisĂ©e donnĂ©e ce taux est Ă©gal Ă  :
Nombre d'items de plan d'exécution liés à un CT couvrant l'exigence synchronisée ou l'une de ses descendantes ayant un statut d'exécution validé ("Succès" ou "Arbitré"), en ne tenant compte que de la dernière exécution (ou du dernier fastpass) / Nombre d'items liés à un CT couvrant l'exigence synchronisée ou l'une de ses descendantes ayant un statut d'exécution final, en ne tenant compte que de la dernière exécution (ou du dernier fastpass).

Ratio de Validation :

Ce champ reprend la valeur du taux de validation suivi du nombre de cas de test concernés (X/Y cas de test).

Statut de la recette :

Il s'agit d'un champ synthétique qui présente un résumé des différents états de recette possibles pour une exigence donnée.
Le mode de calcul est le suivant :

Taux de RédactionTaux de VérificationTaux de ValidationStatut de la Recette
000Non initialisé
0 < Taux de Rédaction < 10000Conception en cours
10000À exécuter
Tous0 < Taux de Vérification < 100100En cours d'exécution
Tous0 < Taux de VérificationTaux de Validation < 100Non Validé
Tous100100Validé

Il est possible de n'afficher que ce champ dans Jira s'il est configuré seul. Les taux sont calculés mais non transmis à Jira.

En savoir plus

Pour plus d'informations sur l'affichage des indicateurs dans Jira, consulter la page Suivre les activités de test dans Jira.

Configurer les équivalences de champs

Afin de permettre à SquashTM d'afficher les informations contenues dans les champs des tickets Jira, il faut configurer des équivalences de champs. Cette configuration se fait dans le troisième bloc de l'écran de configuration Xsquash4Jira.

Info

Lorsqu'une équivalence est configurée, les champs SquashTM correspondant ne peuvent plus être mis à jour manuellement.
Ces champs sont mis à jour uniquement via le processus de synchronisation tant que l'exigence concernée est dans le périmètre de synchronisation et que le plugin associé est actif.

Le bouton Ajouter présent au sommet du bloc permet d'ajouter une nouvelle équivalence.

Equivalence entre les champs

Les champs SquashTM disponibles sont présentés dans une liste déroulante. Il est possible d'enrichir cette liste en ajoutant des champs personnalisés aux exigences du projet. Il est recommandé d'utiliser des champs personnalisés SquashTM de type "Texte simple" pour récupérer les données des tickets Jira dans la majeure partie des cas. Pour mapper les champs "Texte multi-lignes" Jira, il est préférable d'utiliser un champ personnalisé SquashTM de type "Texte riche".

En savoir plus

Pour en savoir plus sur les champs personnalisĂ©s, consulter la page suivante : GĂ©rer les champs personnalisĂ©s.

Les champs Jira doivent ĂŞtre renseignĂ©s par leur nom tel qu'il s'affiche dans les requĂŞtes JQL pour les champs natifs ou dans les tickets Jira pour les champs personnalisĂ©s. Les champs natifs Jira comme par exemple Type, État, et PrioritĂ© doivent donc ĂŞtre renseignĂ©s en anglais en minuscules dans le tableau d'Ă©quivalences : issuetype, status, priority.

Une fois la configuration du bloc terminée, il ne faut pas oublier de bien forcer les synchronisations du projet pour que la modification soit prise en compte. Il est également nécessaire de forcer la synchronisation après une suppression d'équivalence dans le tableau sans quoi des erreurs apparaissent dans les logs.

Info

Si une équivalence ne fonctionne pas, vérifier l'affichage du nom du champ Jira dans les requêtes JQL et essayer avec cette valeur.

Configurer les équivalences des valeurs de champs

Si une équivalence de champs a été configurée pour les champs SquashTM Criticité, Catégorie ou Statut, il faut réaliser une configuration des équivalences des valeurs de champs pour avoir un mapping complet. Celle-ci s'effectue dans le quatrième bloc de l'écran.

Cette configuration utilise la syntaxe YAML. Il est donc indispensable de bien respecter le format indiqué dans l'aide à la configuration.

Dans l'aide Ă  la configuration :

  • champsquash correspond au nom du champ SquashTM en anglais en minuscules comme affichĂ© dans la liste des champs et valeurs disponibles Ă  la fin de l'aide ;
  • valeurjira est la valeur du champ Jira telle qu'affichĂ©e dans les requĂŞtes JQL sur Jira ou dans les tickets Jira ;
  • valeursquash est la valeur du champ SquashTM telle qu'affichĂ©e dans la liste des champs et valeurs disponibles Ă  la fin de l'aide.

Voici un exemple de configuration pour ces trois champs :

Equivalence entre les valeurs de champs

Une fois la configuration du bloc terminée, il ne faut pas oublier de bien forcer les synchronisations du projet pour que la modification soit prise en compte. Il est également nécessaire de forcer la synchronisation après une suppression d'équivalence.

En savoir plus

Il est possible d'associer une liste personnalisée au champ Catégorie des exigences du projet pour récupérer la valeur des types de tickets Jira dans SquashTM comme dans l'exemple ci-dessus.
Pour en savoir plus sur les listes personnalisĂ©es, consulter la page suivante : GĂ©rer les listes personnalisĂ©es.

Configurer les équivalences des liens entre exigences

Xsquash4Jira permet également de récupérer les liens entre tickets Jira sous forme de liens entre exigences. Cette configuration se fait dans le cinquième bloc de la page de configuration de Xsquash4Jira.

Equivalences des liens entre exigences

L'ensemble des liens entre exigences SquashTM s'affiche automatiquement dans le tableau d'équivalences. Il s'agit des liens paramétrés dans l'espace Entités>Liens entre exigences dans l'Administration de SquashTM.

En savoir plus

Il est possible d'ajouter de nouveaux liens entre exigences depuis l'espace Entités>Liens entre exigences.
Pour en savoir plus sur les liens entre exigences, consulter la page suivante : GĂ©rer les liens entre exigences.

Le lien entre exigences Jira doit ĂŞtre dĂ©signĂ© par son Nom, tel qu'il s'affiche dans la partie CrĂ©ation de liens entre des demandes dans l'Administration de Jira Data Center ou dans l'espace Liaison de tickets dans Jira Cloud :

Liens Jira

Une fois la configuration du bloc terminée, il ne faut pas oublier de bien forcer les synchronisations du projet pour que la modification soit prise en compte. Il est également nécessaire de forcer la synchronisation après une modification d'équivalence.

Configuration de Xsquash4Jira dans les modèles de projet

Il est possible de définir la configuration de Xsquash4Jira dans un modèle de projet afin de la partager avec les projets associés au modèle ou créés à partir du modèle. La configuration au niveau des projets peut ensuite être déléguée au modèle ou évoluer indépendamment de celle du modèle.

Cette fonctionnalité est utile lorsque l'on souhaite configurer le plugin Xsquash4Jira pour plusieurs projets SquashTM et que les tickets Jira à synchroniser sont issus de projets Jira qui partagent le même paramétrage (champs personnalisés, types de tickets, priorités, workflow…).

Configurer Xsquash4Jira dans les modèles de projet

La page de configuration du plugin Xsquash4Jira des modèles est similaire Ă  celle des projets, Ă  l'exception du bloc Synchronisations qui est absent pour les modèles de projet. Pour les modèles, il est donc possible de paramĂ©trer les Ă©quivalences entre les champs SquashTM et Jira, Ă  savoir :

  • Champs de reporting SquashTM vers Jira ;
  • Équivalences entre les champs ;
  • Équivalences entre les valeurs des champs ;
  • Équivalences des liens entre exigences.

Créer un projet en reprenant la configuration de Xsquash4Jira du modèle

Lors de la création d'un projet à partir d'un modèle, l'option Configuration de Xsquash permet de reprendre la configuration des plugins de synchronisations (Xsquash4Jira et Xsquash4GitLab) définie au niveau du modèle.

Reprendre conf Xsquash4Jira

Ainsi, dans le projet créé, le plugin Xsquash4Jira est déjà préconfiguré à l'exception des synchronisations qui sont définies uniquement au niveau du projet. La configuration de Xsquash4Jira au niveau des projets peut ensuite être déléguée au modèle ou évoluer indépendamment de celle du modèle.

Lier la configuration de Xsquash4Jira du modèle aux projets liés

À la création d'un nouveau projet

Lors de la crĂ©ation d'un projet Ă  partir d'un modèle, l'option Lier la configuration de Xsquash permet de :

  • lier la configuration des plugins de synchronisations (Xsquash4Jira et Xsquash4GitLab) du projet Ă  celle du modèle (option cochĂ©e) :
    • la configuration au niveau du projet est dĂ©lĂ©guĂ©e au modèle, en dehors des synchronisations ;
    • toutes les modifications effectuĂ©es au niveau du modèle seront rĂ©percutĂ©es dans les projets liĂ©s ;
  • ne pas lier la configuration des plugins de synchronisations (Xsquash4Jira et Xsquash4GitLab) du projet Ă  celle du modèle (option dĂ©cochĂ©e) :
    • la configuration au niveau du projet peut Ă©voluer indĂ©pendamment de celle du modèle liĂ© ;
    • les modifications de la configuration effectuĂ©es au niveau du modèle ne seront pas rĂ©percutĂ©es dans les projets liĂ©s.

Lier conf Xsquash4Jira

À l'association d'un projet existant à un modèle

Il est également possible de lier la configuration de Xsquash4Jira lors de l'association d'un projet existant à un modèle.

Dans ce cas, si le plugin Xsquash4Jira était déjà configuré au niveau du projet, cette configuration est écrasée par celle du modèle. Seuls les paramétrages d'équivalences sont impactés, les synchronisations ne sont pas supprimées.

Associer conf Xsquash4Jira

Désactiver Xsquash4Jira dans les modèles

La désactivation ou la suppression de la configuration dans le modèle entraîne la suppression de la configuration dans les projets liés, à l'exception des synchronisations.