Aller au contenu

Gérer les synchronisations Xsquash4Jira dans Squash TM

Info

Cette page est dédiée à la gestion des synchronisations Xsquash4Jira. Pour la configuration générale du plugin, consulter la page Configurer Xsquash4Jira dans Squash TM.
Pour en savoir plus sur les fonctionnalités de Xsquash4Jira, consulter la page Synchroniser des objets agiles Jira dans Squash.

Une synchronisation est l'unité de travail du plugin Xsquash4Jira. Elle représente l'ensemble des tickets Jira définis par un périmètre dynamique qui sont récupérés dans Squash TM. Ce périmètre dynamique est recalculé à chaque processus de mise à jour. Par défaut, le délai est de cinq minutes entre chaque processus de synchronisations (ce délai est configurable dans le fichier de configuration Squash TM).

C'est à partir du Type de synchronisation que l'utilisateur peut définir ce périmètre qui est soit un "Tableau", un "Filtre" ou une "Requête JQL".

Voici le périmètre récupéré en fonction du type de synchronisation choisi :

Type Périmètre Note
Tableau L'ensemble des tickets inclus dans le filtre qui sert à la construction du tableau côté Jira. Le contrôle du périmètre est délégué à un filtre existant dans Jira, qui est en fait le filtre associé au tableau ciblé. Pour rappel, un tableau dans Jira est avant tout un filtre, auquel sont rajoutés des filtrages et des présentations supplémentaires.
Filtre L'ensemble des tickets renvoyés par l'appel de ce filtre dans Jira Le contrôle du périmètre est délégué à un filtre existant dans Jira. Si le filtre est modifié côté Jira, le périmètre dans Squash TM est modifié, sans préavis ni message. Si le filtre est supprimé côté Jira, la synchronisation échoue avec message d'erreur dans les logs.
JQL L'ensemble des tickets renvoyés par le passage de cette requête dans l'API recherche de Jira Le contrôle du périmètre est effectué côté Squash TM. Utile s'il n'est pas possible de créer les filtres appropriés dans Jira.

Le bloc Synchronisations se présente ainsi :

Table des synchronisations

Les chapitres suivants détaillent l'utilisation de cette table.

Créer une synchronisation

Pour créer une synchronisation, cliquer sur le bouton Ajouter présent au sommet du bloc Synchronisations.

Synchronisation d'exigences (Espace Exigences)

Cette première étape de la création d'une synchronisation est obligatoire.

Ajout synchro

Le tableau suivant détaille le fonctionnement des champs de la pop-up et comment les renseigner :

Nom Obligatoire Modifiable Commentaire
Nom Oui Oui Nom libre. Il doit être unique sur l'ensemble de l'instance Squash TM.
Chemin Cible Oui Non Chemin initial du répertoire cible de la synchronisation. Ce répertoire ne doit pas exister dans l'espace Exigences, il est créé par Xsquash4Jira à la première mise à jour.
Serveur Oui Non Serveur Xsquash4Jira utilisé pour cette synchronisation, à choisir dans la liste des serveurs paramétrés dans l'écran d'administration des Bugtrackers et serveurs de synchronisation.
Sélection par Oui Non Type de périmètre. Trois options possibles : Tableau, Filtre ou Requête JQL. En fonction de l'option choisie les champs suivants de la pop-up changent.
Nom du tableau Oui Oui Nom du tableau à synchroniser tel qu'il apparaît dans les écrans de Jira. Il faut respecter la casse.
JQL additionnel Non Oui Permet d'affiner le périmètre au moyen d'une clause JQL additionnelle.
La clause en question doit être nue, c'est-à-dire ne pas comporter d'opérateur (AND, OR…) en début ou fin de clause et ne comporter que des critères de sélection (pas d'ORDER BY ni autres clauses…).
Nom du filtre Oui Oui Nom du filtre à synchroniser tel qu'il apparaît dans les écrans de Jira. Il faut respectant la casse.
Requête JQL Oui Oui Requête JQL qui définit le périmètre de la synchronisation. Elle ne doit pas comporter d'opérateur (AND, OR…) en début ou fin de clause et ne comporter que des critères de sélection (pas d'ORDER BY ni autres clauses…).
Restreindre au sprint actif - Oui Permet de garder synchronisés uniquement les tickets qui sont dans un sprint au statut "Actif" dans Jira. N'a de sens que pour une synchronisation de type "Tableau" qui pointe vers un tableau de type SCRUM, les autres tableaux n'ayant pas de sprints.
Synchronisation des sprints dans l'espace Exécutions - Oui Si coché, permet d'accéder à une étape supplémentaire afin de de configurer la synchronisation dans l'espace Exécutions (Sprints). Disponible uniquement pour les synchronisations par Tableau.

Restrictions du chemin cible

Le chemin cible ne peut pas :

  • Pointer exactement vers un dossier synchronisé, ou être identique à celui d'une synchronisation déjà configurée ;
  • Débuter ou finir par un espace ou un / ;
  • Inclure une série de plusieurs espaces à la suite ;
  • Avoir un espace situé directement avant ou après un /.

Simuler une synchronisation

Lors de l'ajout d'une nouvelle synchronisation, une simulation de la synchronisation est exigée avant de confirmer sa création ou de passer à l'étape suivante.

Pour cela, un bouton [Simuler] figure dans la fenêtre d'ajout de synchronisation. Il permet de visualiser le nombre et le détail des tickets que contient la synchronisation pour vérifier que cela correspond au périmètre voulu.

Simulation synchro

Info

Si une valeur est déterminée pour limiter le nombre d'éléments à synchroniser (voir la gestion du fichier de configuration Squash TM), cette valeur est aussi prise en compte lors de la simulation, et celle-ci échoue si le nombre de tickets à synchroniser est trop élevé.

Synchronisation de sprints (Espace Exécutions)

Cette seconde étape est facultative, et n'est accessible qu'avec une Sélection par Tableau et si la case Synchronisation des sprints dans l'espace Exécutions est cochée.

Ajout synchro - seconde étape

Le tableau suivant détaille le fonctionnement des champs de la pop-up et comment les renseigner :

Nom Obligatoire Modifiable Commentaire
Chemin cible pour la synchronisation des sprints Oui Oui Chemin initial cible où sont synchronisés les sprints. Ce chemin est créé par Xsquash4Jira au premier cycle de synchronisation. L'élément final du chemin est un groupe de sprints, tandis que les éventuels éléments précédents du chemin sont des dossiers.
Sélection par Oui Non Pour synchroniser des sprints dans l'espace Exécutions, la sélection par Tableau est la seule valable. Ce champ est donc prérempli et non modifiable.
Nom du tableau Oui Non Nom du tableau à synchroniser tel qu'il apparaît dans les écrans de Jira. La valeur est identique à la première étape.
JQL additionnel pour les sprints Non Oui Permet d'affiner le périmètre au moyen d'une clause JQL additionnelle.
Si une requête JQL additionnelle est renseignée lors de la première étape, la valeur par défaut de ce champ est identique.
La clause en question doit être nue, c'est-à-dire ne pas comporter d'opérateur (AND, OR…) en début ou fin de clause et ne comporter que des critères de sélection (pas d'ORDER BY ni autres clauses…).
Restreindre au sprint actif - Oui * Permet de garder synchronisés uniquement les tickets qui sont dans un sprint au statut "Actif" dans Jira.
* Modifiable uniquement si la case est décochée à la première étape Ajouter une synchronisation dans l'espace Exigences .

Restrictions du chemin cible

Le chemin cible ne peut pas :

  • Pointer vers un groupe de sprint déjà existant dans l'espace Exécutions, ou débuter par un chemin déjà configuré dans une autre synchronisation ;
  • Débuter ou finir par un espace ou un / ;
  • Inclure une série de plusieurs espaces à la suite ;
  • Avoir un espace situé directement avant ou après un /.

Simuler une synchronisation (pour l'espace Exécutions)

Lors de l'ajout d'une nouvelle synchronisation, une simulation de la synchronisation est exigée avant de confirmer sa création.

Pour cela, un bouton [Simuler] figure dans la seconde étape de la fenêtre d'ajout de synchronisation. Il permet de visualiser le nombre et le détail des tickets et des sprints que contient la synchronisation pour vérifier que cela correspond au périmètre voulu.

Simulation synchro - seconde étape

Attention

Les sprints créés dans l'espace Exécutions dépendent du statut du sprint dans Jira :

  • À venir / Actif : le sprint et ses tickets sont créés ;
  • Fermé / Supprimé : le sprint et ses tickets sont ignorés.

Info

Si une valeur est déterminée pour limiter le nombre d'éléments à synchroniser (voir la gestion du fichier de configuration Squash TM), cette valeur est aussi prise en compte lors de la simulation, et celle-ci échoue si le nombre de tickets à synchroniser est trop élevée.

Suivi des synchronisations

Une fois la synchronisation configurée, une ligne supplémentaire apparaît dans la table des synchronisations. À la prochaine mise à jour, l'ensemble des exigences et sprints synchronisés qui correspondent au périmètre sont créés. Si la synchronisation échoue, rien n'est créé dans Squash TM. Le statut de chaque synchronisation est affiché dans la table des synchronisations.

Le bouton Rafraîchir permet de rafraîchir le tableau des synchronisations pour voir si leur statut a évolué suite au passage du processus de mise à jour.

Modifier une synchronisation existante

Il est possible de modifier certains éléments de la configuration de synchronisation une fois celle-ci créée. Après modification, lors du prochain processus de mise à jour, seule la dernière version de la configuration sera prise en compte.
Ainsi, si certains tickets Jira ne font plus partie du périmètre défini, ils ne seront pas mis à jour dans Squash TM.

Modifier la synchronisation d'exigences

La colonne SYNC. EXI. affiche quel type de synchronisation est sélectionné (Tableau, Filtre ou Requête JQL). Le bouton Configurer permet de voir et de modifier la configuration de la synchronisation d'exigences.

Modification synchro exigences

Seuls les champs Nom du tableau et JQL additionnel sont modifiables pour une sélection par Tableau. Pour une sélection par Filtre, seul le Nom du filtre, et pour une sélection par Requête JQL, seule la Requête JQL sont modifiables.
Une simulation est obligatoire avant de pouvoir valider les modifications.

Ajouter une synchronisation de sprints (espace Exécutions)

Si une synchronisation d'exigences existante permet de configurer une synchronisation de sprints (sélection par Tableau côté exigences), la colonne SYNC. SPRINT indique si celle-ci est déjà configurée (Oui ou Non). Sinon, un - est affiché.
Si "Non" est indiqué, le bouton Configurer permet d'ajouter une synchronisation de sprints.

Ajout synchro sprints

Comme pour la création d'une synchronisation, le périmètre (type de sélection et nom du tableau) est repris de la configuration de synchronisation des exigences et n'est pas pas modifiable.

Les champs Chemin cible, JQL additionnel sont modifiables et leur fonctionnement est identique à celui décrit lors de la seconde étape de création d'une synchronisation. La case Restreindre au sprint actif est modifiable uniquement si elle décochée côté synchronisation d'exigences.
Une simulation est obligatoire avant de pouvoir valider.

Modifier une synchronisation de sprints (espace Exécutions)

Si la colonne SYNC. SPRINT indique "Oui", le bouton Configurer permet de voir et de modifier la configuration de la synchronisation de sprints. Le fonctionnement est identique à l'ajout d'une nouvelle synchronisation de sprints, mais seul le champ JQL additionnelle est modifiable.

Modification synchro sprints

Une simulation est obligatoire avant de pouvoir valider les modifications.

Supprimer une synchronisation de sprints

Un bouton [Supprimer] est présent dans la fenêtre de modification d'une synchronisation de sprints. Cliquer sur ce bouton supprime la configuration de synchronisation pour l'espace Exécutions.

Comme pour la suppression complète d'une synchronisation, les sprints synchronisés sont alors transformés en sprints manuels, ne sont plus mis à jour depuis Jira et se comportent comme n'importe quel autre sprint de Squash TM. Il en va de même pour les répertoires synchronisés (répertoires cibles, groupes de sprints). Si l'utilisateur désire supprimer ces entités, il doit le faire manuellement comme pour n'importe quelle entité de Squash TM.

Info

La synchronisation d'exigences n'est pas impactée, et les exigences synchronisées continuent de l'être.

Propriétaire d'une synchronisation

Dans la table des synchronisations, la colonne Propriétaire indique avec quels identifiants est effectuée la synchronisation. Plusieurs cas de figure sont possibles :

  • la synchronisation est effectuée avec le compte technique, c'est-à-dire avec les identifiants associés au serveur de synchronisation. Dans ce cas, la colonne Propriétaire est valorisé par la mention "Compte technique" ;
  • la synchronisation est effectuée avec les identifiants d'un utilisateur. Dans ce cas, la colonne Propriétaire est valorisée par le login de l'utilisateur propriétaire de la synchronisation. Par défaut, il s'agit de l'utilisateur ayant créé la synchronisation.

Il est possible de modifier le propriétaire d'une synchronisation existante. La synchronisation sera alors effectuée avec les identifiants du nouveau propriétaire.

Pour cela, en cliquant sur le propriétaire d'une synchronisation, une fenêtre permet à l'utilisateur de s'assigner la synchronisation ou de l'assigner au compte technique. Il peut également simuler la synchronisation pour vérifier que les tickets renvoyés correspondent toujours à ce qui est attendu avec les identifiants du nouveau propriétaire.

Modifier le propriétaire

Attention

Il est impossible de supprimer un utilisateur propriétaire d'une synchronisation. Il faut d'abord effectuer le changement de propriétaire.

Forcer une synchronisation complète

Par défaut, le plugin ne met à jour que les exigences synchronisées qui ont été modifiées dans Jira depuis le dernier processus de mise à jour connu et en succès.
Dans le cas d'un changement d'équivalences de champ ou de valeur côté Squash TM, il est nécessaire de resynchroniser l'ensemble des exigences côté Squash TM, même si rien n'a changé côté Jira. Le bouton Forcer la synchronisation permet de forcer la mise à jour de l'ensemble des tickets synchronisés qui sont dans le périmètre actuel d'une ou plusieurs synchronisations.

Info

Afin d'éviter des processus de mise à jour inutiles, il est conseillé de faire les équivalences avant de déclarer les synchronisations.
Si les équivalences doivent évoluer par la suite, il est conseillé de faire toutes les évolutions d'équivalences de champs, de valeurs et de liens, puis de forcer une seule fois toutes les synchronisations du projet.

Désactiver une synchronisation

Le bouton radio présent en début de ligne permet de désactiver ou de réactiver une synchronisation sans la supprimer.

Lorsqu'une synchronisation est désactivée, les tickets et les sprints présents dans son périmètre ne sont plus synchronisés. La ligne est grisée et le nom de la synchronisation n'est plus modifiable, mais il est toujours possible de supprimer la synchronisation ou modifier ses configurations (synchronisations d'exigences et/ou de sprints).

Lorsqu'elle est réactivée, les tickets et les sprints sont de nouveau synchronisés dans Squash TM et reprennent les attributs de synchronisation ainsi que les équivalences et le reporting définis dans les autres blocs.

Supprimer une synchronisation

Le bouton Supprimer permet de supprimer une ou plusieurs synchronisations. En accord avec la politique de non-suppression, les exigences et sprints synchronisés ne sont pas supprimés mais sont transformés en objets natifs de Squash TM.

Ils ne sont plus mis à jour depuis Jira et se comportent comme n'importe quelle autre exigence ou sprint de Squash TM. Il en va de même pour tous les répertoires synchronisés (répertoires cibles, répertoires de sprint et groupes de sprints).

Si l'utilisateur désire supprimer ces exigences ou sprints, il doit le faire manuellement comme pour n'importe quel objet de Squash TM.