Demandes liées et mapping de champs : la solution avec Exocet pour JIRA - Valiantys - Atlassian Platinum Partner
logo-bleu_rvb.png
Back

Demandes liées et mapping de champs : la solution avec Exocet pour JIRA

Si vous avez déjà essayé de mettre en place une notion de hiérarchie entre vos demandes dans JIRA, vous vous êtes certainement heurté aux limitations du système de sous-tâches natif de l’outil.

En effet, dans JIRA, vous n’avez pas la possibilité de mapper automatiquement les champs de vos demandes « mères » avec leurs sous-tâches.
Résultat, vous vous retrouvez à saisir manuellement à de multiples reprises le contenu hérité d’un champ lors de la création de demandes liées. Fastidieux, non ?

Exocet – notre add-on, pas le missile – répond à ces problématiques en vous permettant de créer des demandes liées de manière plus ou moins avancée :copie simple, opérations multiples, “mapping” personnalisé etc.

Avec sa dernière version, Exocet rend la Copie/Creation plus simple et efficace que jamais :

  • Vous pouvez créer une demande liée en un clic depuis une demande, sans avoir à passer par le menu déroulant « Plus d’actions »
  • Vous pouvez afficher les données réellement utiles, et seulement celles là : champs personnalisés, images, transitions disponibles… ce dont vos utilisateurs ont besoin pour traiter les demandes efficacement.

Voyons maintenant en détail comment ça marche.

Créer et  lier des demandes en un seul clic 

Pour vous permettre de créer des demandes directement depuis la vue de la demande sans passer par des menus déroulants surchargés, vous pouvez désormais choisir que vos opérations apparaissent sous formes de boutons.

Configuration

Dans l’administration d’Exocet, un nouveau menu “Accessibilité de l’opération” apparaît désormais dans la pop up de création d’une opération :

Le nouveau menu "Accessibilité de l'opération"
Le nouveau menu “Accessibilité de l’opération”

En choisissant seulement “Menu Actions” vous garderez le même comportement qu’auparavant mais lorsque l’option “Vue de la Demande” sera cochée, l’opération apparaîtra sous forme de bouton directement dans la demande.

Résultat

Lorsque l’option “Vue de la demande” est cochée, les opérations disponibles apparaissent désormais directement :

Les nouveaux boutons d'opération dans la vue de Demande
Les nouveaux boutons d’opération dans la vue de Demande
En cas d’opérations multiples, il est possible de choisir dans le menu “Général” le nombre maximal d’opérations affichées directement dans la demande. Les opérations en plus seront disponibles dans un menu déroulant. (Nous avons repris le même principe que pour les transitions de workflow).

Les Opérations peuvent se trouver dans un menu déroulant
Les Opérations peuvent se trouver dans un menu déroulant

 

Une vue personnalisée pour les demandes liées

Afin de sortir de la très simpliste liste de demandes liées et de la très générique liste de sous-tâches, le panel “Données avancées” d’Exocet vous permet de choisir quelles données de vos demandes liées vous allez choisir d’afficher.

Configuration

Dans l’administration d’Exocet, un nouveau panel “Données Avancées” a fait son apparition. Vous pouvez désormais y créer/modifier/supprimer des “Tableaux”.

Le menu de gestion des tableaux d'Exocet
Le menu de gestion des tableaux d’Exocet

Dans Exocet, un” Tableau” est composé d’un titre, d’une requête “JQL”, d’un ensemble de colonnes et, éventuellement de champs calculés. Ce sont ces tableaux sous forme de panels que vous retrouverez ensuite dans la demande.

La création d'un tableau dans Exocet
La création d’un tableau dans Exocet

Il est possible d’ajouter n’importe quel champ natif ou personnalisé en tant que colonne du Tableau.

Un lien envoyant vers la demande  est disponible dans le panel  lorsque le trombone est coché.

Il est primordial d’écrire une requête juste. Pour cela, vous pourrez vous aider du Navigateur de Demandes.

Résultat

Dans la vue d’une demande, tous les tableaux ayant au moins une demande correspondant à la requête JQL en fonction de la demande courante seront affichés :

Le panel données avancées
Le panel données avancées
En affichant la colonne sous-tâche, il devient alors possible d’avoir une vision sur 3 niveaux de demandes. La colonne Σ Progrès affichera alors la progression du travail pour la demande et ses sous-tâches.
La roue crantée située à droite de chaque demande apparaît quand une ou plusieurs transitions est/sont disponible(s) pour l’utilisateur.
Il est possible d’afficher plusieurs tableaux dans une même demande.
Bonus : Comment associer un ou plusieurs "scripted field" à son panel

En plus de remonter les données des fichées liées dans une fiche mère, nous allons pouvoir les “utiliser”. En effet, durant la configuration d’un tableau il devient également possible de sélectionner un ou plusieurs “Scripted field” (Fourni par Script Runner) afin, par exemple de calculer une somme différenciée en fonction de la valeur d’un autre champ.

Exemple :

Plaçons nous dans le cas où, depuis une demande “mère”, nous remontons dans le panel “Données Avancées” 3 demandes. Ces demandes contiennent un champ numérique nommé “Prix” et un champ radio nommé “Criteria” :

Liste de demandes origniales
Liste de demandes origniales

Pour notre exemple, nous souhaitons calculer la somme des prix seulement quand le critère associé au prix est “Yes” :

1. Créer un champ de type Scripted Field “Total Yes”

2. Le configurer avec un code de la forme suivante :

import com.atlassian.jira.ComponentManager
import com.atlassian.plugin.PluginAccessor
import java.util.HashMap
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.link.IssueLink
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.customfields.option.Option
import com.atlassian.jira.issue.customfields.view.CustomFieldParams
import com.atlassian.jira.issue.customfields.option.LazyLoadedOption
import com.atlassian.jira.issue.customfields.impl.CascadingSelectCFType enableCache = {-> false} PluginAccessor pluginAccessor = componentManager.getPluginAccessor();
Class dataPanelScoringServiceClass = pluginAccessor.getClassLoader().findClass("com.valiantys.jira.plugins.exocet.service.DataPanelScoringService"); def dataPanelScoringService = componentManager.getOSGiComponentInstanceOfType(dataPanelScoringServiceClass);
def customFieldManager = ComponentManager.getInstance().getCustomFieldManager(); def prix = customFieldManager.getCustomFieldObjectByName("Prix");
def criteria = customFieldManager.getCustomFieldObjectByName("Criteria"); Double sommePrix = 0;
Double sommeNull = 0; for (returnedIssue in dataPanelScoringService.getSetOfIssuesByCfName("Total Yes",issue))
{
if(returnedIssue.getCustomFieldValue(criteria)?.value.equals("Yes")){
sommePrix +=returnedIssue.getCustomFieldValue(prix);
}
} if(sommePrix == 0)
return sommeNull;
else
return sommePrix;

3. Associer  le champ "Total Yes" au tableau :

Associer un Scripted Field à un tableau
Associer un Scripted Field à un tableau

4. Mettre à jour la demande et vérifier que le calcul est exact :

Le calcul est effectué dans le volet
Le calcul est effectué dans le volet

Conclusion

Avec ces nouvelles fonctionnalités nous avons voulu rendre Exocet plus séduisant afin qu'il réponde mieux à vos attentes: créer des demandes liées et personnaliser ensuite leurs affichages dans une demande "mère" devient un jeu d'enfant et vous permettra d'utiliser JIRA plus simplement.

Exocet n'attend désormais plus que vous l'essayiez... pour l'adopter.

 

 

Cutted Triangle

Subscribe to the Valiantys Newsletter

Demande enregistrée ! Demande en cours... Ceci n'est pas un email Une erreur s'est produite

In accordance with our privacy policy, we are committed to respecting your personal data.

Contact us

Our Atlassian certified consultants will be happy to answer you.

Join us

We're building the next dream team - Are you in?

Follow us

Nous utilisons des cookies pour le fonctionnement de ce site, pour améliorer son utilisation, personnaliser votre expérience et réaliser des statistiques de visite. Vous pouvez gérer les paramètres et choisir d’accepter ou non certains cookies durant votre navigation. Pour plus d’informations, consultez notre politique de confidentialité. Nos politique de confidentialité

Paramètres de confidentialité

Afin de faciliter votre navigation et de vous apporter le meilleur service possible, nous utilisons des cookies pour améliorer le site aux besoins des visiteurs, notamment selon la fréquentation.  Pour plus d’informations, consultez notre politique de confidentialité. Nos politique de confidentialité

Recaptcha

Google reCAPTCHA est un système conçu pour distinguer les humains des ordinateurs, de telle sorte que les bots soient incapables de remplir les formulaires de manière malveillante au nom d’un être humain.

Analytics

Utilisé pour envoyer des données à Google Analytics sur le périphérique et le comportement du visiteur. Suit l'internaute à travers les appareils et les canaux de marketing. Utilisé par Google Analytics pour diminuer radicalement le taux de requêtes. Enregistre un identifiant unique utilisé pour générer des données statistiques sur la façon dont le visiteur utilise le site.

LinkedIn

Cookies pour une publicité ciblée : Ces cookies peuvent être mis en place au sein de notre site Web par nos partenaires publicitaires. Ils peuvent être utilisés par ces sociétés pour établir un profil de vos intérêts et vous proposer des publicités pertinentes sur d'autres sites Web. Ils ne stockent pas directement des données personnelles, mais sont basés sur l'identification unique de votre navigateur et de votre appareil Internet. Si vous n'autorisez pas ces cookies, votre publicité sera moins ciblée.

Cookies "réseaux sociaux" : Ces cookies sont activés par les services proposés sur les réseaux sociaux que nous avons ajoutés au site Web afin de vous donner la possibilité de partager notre contenu avec votre réseau et vos connaissances. Ils nous permettent également de suivre votre navigation sur d’autres sites Web et d’établir un profil de vos intérêts. Cela peut avoir un impact sur le contenu et les messages affichés sur les autres sites Web que vous consultez. Si vous n'autorisez pas ces cookies, il se peut que vous ne puissiez pas utiliser ou visualiser ces outils de partage.