Template d’éléments fils dans Azure DevOps

Florian Caillaud
Publié par Florian
Catégorie : DevOps / VSTS
01/06/2020

Dans certains projets Azure DevOps, on peut retrouver les mêmes tâches dans certains types d’éléments de travail comme les User Stories (Documentation, Tests Unitaires, etc.). Pour éviter de créer manuellement (ou via Excel) ces tâches à chaque fois, nous pouvons mettre en place des templates.

Nativement, Azure DevOps permet de créer des templates d’éléments de travail (voir la documentation ici). Malheureusement, nous n’avons pas la possibilité de définir des liens de type « Child », ni même de créer ces éléments fils.

Pour cela, nous allons utiliser l’extension « 1-Click Child-Links ».

 

Installation de l’extension

À l’adresse suivante (ici), vous pourrez trouver l’extension en question.

Ensuite, en cliquant sur « Get it free » (car elle est gratuite), vous pourrez sélectionner l’organisation sur laquel installer l’extension.

Pour information, les sources correspondantes à cette extension sont disponibles sur GitHub, ici. Attention, la documentation est assez légère et certaines fonctionnalités ne sont pas implémentées.

 

Utilisation de l’extension

 

Création du template

La première étape est de créer le template de chaque tâche que l’on veut voir apparaître dans notre élément de travail parent (ici ce sera une User Story).

 

DevOps Template Creation

 

En naviguant dans “Project Settings” du projet Azure Devops voulu, menu “Team configuration”, onglet “Templates”, nous voyons apparaître la liste des éléments de travail disponibles. Puis, en cliquant sur « New Template », dans la section de notre élément de travail (ici une tâche), le formulaire suivant apparaît :

 

DevOps Template Configuration

 

Le nom du template est obligatoire. Il est possible de paramétrer l’ensemble des champs de la tâche (voire de créer un commentaire par défaut). La seule contrainte est de ne pas toucher à la description du template.

Cette description doit contenir une balise JSON de ce type :

{     
    "applywhen": 
    [     
        {         
            "System.Tags" : "PROD",         
            "System.WorkItemType": "User Story"     
        }     
    ] 
}

Ces données JSON décrivent sous quelles conditions le template de tâche en question sera utilisé pour créer un élément fils. Dans ce cas, ce template de tâche sera utilisé si l’élément parent est une User Story et s’il possède le tag « PROD ».

Il est possible de s’appuyer sur d’autres paramètres pour personnaliser la condition d’utilisation. Mais il est aussi possible de mentionner plusieurs conditions. Pour cela, je vous renvoie à la documentation de l’extension.

 

Création d’une user story

Une fois le template sauvegardé, nous allons voir comment l’utiliser. Pour cela, la vidéo ci-dessous montre la création d’une User Story (notre élément parent). Après avoir renseigné le titre de l’élément, ajouté le tag « PROD » et sauvegardé, nous pouvons utiliser la fonctionnalité « 1-Click Child-Links » pour créer un certain nombre d’éléments fils.

 

 

Pour finir, il faut savoir qu’il est possible de transférer plusieurs propriétés de l’élément parent aux éléments fils comme la personne assignée, le Sprint, l’Area, etc. Vous trouverez la liste des propriétés ici.