Le widget Recherche multi trackers vous permet d'effectuer des recherches sur des artifacts issus de plusieurs trackers et de plusieurs projets simultanément, directement depuis votre tableau de bord. Il repose entièrement sur le langage de requêtes TQL (Tuleap Query Language) pour sélectionner les colonnes à afficher, définir les sources de données et filtrer les résultats.
C'est un outil idéal pour obtenir des vues transversales sur votre activité : suivi de vos artifacts assignés à travers plusieurs projets, reporting multi-trackers, consolidation d'informations, etc.

Note d’installation
Ce widget est disponible sur les Tableaux de bord projet et sur le Tableau de bord personnel. Son comportement diffère légèrement selon le contexte (voir la section Différences entre tableau de bord projet et personnel).
Également, le plugin Cross Tracker Search doit être installé et activé par l'administrateur de la plateforme.
Créer une requête

Le widget fonctionne entièrement via des requêtes écrites en TQL. Une requête se compose de quatre clauses :
SELECT— les colonnes à afficher dans le tableau de résultatsFROM— les projets et trackers à interrogerWHERE— les conditions de filtrage des artifactsORDER BY(optionnel) — le tri des résultats
Attention
Vous devez disposer d'un droit de lecture sur les trackers que vous souhaitez interroger.
Écrire une requête
Lors de la première utilisation, ou lorsque vous créez une nouvelle requête, le widget vous présente un éditeur de texte TQL. Saisissez directement votre requête dans cet éditeur.
Exemple de requête sur un tableau de bord projet :
SELECT @pretty_title, @status, @last_update_date, @submitted_by
FROM @project = 'self'
WHERE @status = OPEN()
ORDER BY @last_update_date DESCExemple de requête sur un tableau de bord personnel :
SELECT @pretty_title, @project.name, @last_update_date, @submitted_by
FROM @project = MY_PROJECTS()
WHERE @assigned_to = MYSELF() AND @status = OPEN()
ORDER BY @last_update_date DESCInfo
L'éditeur TQL propose la coloration syntaxique et l'auto-complétion (
Ctrl+Espace) pour vous aider à construire vos requêtes. Vous pouvez également utiliserCtrl+Entréepour lancer une recherche (prévisualisation) sans quitter l'éditeur. Pour une référence complète de la syntaxe TQL utilisable dans ce widget, consultez la documentation officielle : TQL in Cross-Tracker Search.
Utiliser les suggestions de requêtes

Lors de la création d'une nouvelle requête, le widget propose des suggestions de requêtes prédéfinies. Ces suggestions sont adaptées au contexte du tableau de bord :
Sur un tableau de bord projet, trois suggestions sont disponibles :
Tous les artifacts ouverts — Affiche tous les artifacts ouverts du projet en cours.
Les artifacts ouverts qui me sont assignés — Filtre sur les artifacts ouverts et assignés à l'utilisateur connecté.
Tous les artifacts créés ces 10 derniers jours — Affiche les artifacts récemment créés dans le projet.
Sur le tableau de bord personnel, une suggestion est disponible :
Les artifacts ouverts qui me sont assignés dans mes projets — Affiche les artifacts ouverts et assignés à l'utilisateur connecté, provenant de l'ensemble des projets dont il est membre.
Cliquez sur la suggestion souhaitée pour pré-remplir l'éditeur avec la requête correspondante. Vous pouvez ensuite l'adapter à vos besoins avant de l'enregistrer.
Enregistrer une requête
Une fois votre requête rédigée :
Renseignez un titre (obligatoire) dans le champ Nommer votre requête pour identifier facilement cette requête.
Ajoutez une description (optionnel) dans le champ Écrire votre description pour préciser l'objectif de la requête.
Si vous le souhaitez, activez l'option Afficher cette requête par défaut pour que cette requête soit présentée automatiquement à l'ouverture du widget.
Cliquez sur Sauvegarder.
Le widget prend en charge l'enregistrement de plusieurs requêtes par instance de widget. Vous pouvez naviguer entre vos requêtes enregistrées pour consulter différentes vues.
Modifier une requête
Cliquez sur le bouton Détails de la requête.
Cliquez directement sur la requête affichée ou sur le bouton Éditer.
Modifiez le titre, la description ou la requête TQL.
Vous pouvez cliquer sur Rechercher pour prévisualiser les résultats de la requête modifiée sans la sauvegarder.
Cliquez sur Sauvegarder pour valider les modifications, ou sur Annuler pour revenir à la requête sans sauvegarder vos changements.
Information
Seuls les utilisateurs ayant le droit de modification du tableau de bord (administrateurs du projet pour un tableau de bord projet, ou l'utilisateur propriétaire pour un tableau de bord personnel) peuvent créer, éditer ou supprimer des requêtes. Les autres utilisateurs ne voient que les résultats en lecture seule.
Supprimer une requête
Cliquez sur le bouton Détails de la requête.
Cliquez sur le bouton Supprimer.
Une fenêtre de confirmation s'affiche. Confirmez la suppression.
Attention
La suppression d'une requête est définitive. Les autres utilisateurs du tableau de bord n'y auront plus accès.
Consulter et naviguer entre les requêtes

Par défaut, le widget affiche directement les résultats de la requête active (la requête par défaut, ou la première requête enregistrée). Pour accéder aux détails d'une requête :
Cliquez sur le bouton Détails de la requête.
Le panneau de détails s'ouvre, affichant le titre, la description et la requête TQL associée.
Également, pour naviguer d’une requête à l’autre :
Cliquez sur Choisir une autre requête. Un menu déroulant s'affiche avec la liste de toutes les requêtes enregistrées pour ce widget.
Utilisez le champ de recherche intégré au menu pour filtrer les requêtes par titre si la liste est longue.
Info
Si vous êtes administrateur du tableau de bord et qu'aucune requête n'existe encore, le widget affiche automatiquement le panneau de création de requête. Les utilisateurs en lecture seule verront un état vide.
Tableau de résultats
Pagination
Les résultats sont affichés par pages de 50 artifacts maximum. Si votre requête retourne plus de 50 résultats, des boutons Précédent et Suivant apparaissent en bas du tableau pour naviguer entre les pages.
Accès direct à un artifact
Chaque ligne du tableau de résultats comporte une icône permettant d'ouvrir l'artifact dans son tracker d'origine. Cliquez sur cette icône pour accéder à la page de détail de l'artifact.
Astuce
Survolez les cellules de type titre ou texte pour afficher un tooltip avec le contenu complet, utile lorsque le texte est tronqué dans la colonne.
Liens entre artifacts
Lorsque les artifacts affichés possèdent des liens (parent/enfant, couverture de test, etc.), le widget peut afficher ces relations sous forme de flèches visuelles et d'informations de type de lien. Vous pouvez déplier les liens d'un artifact pour en voir les détails.
Colonnes affichées
Les colonnes du tableau sont déterminées par la clause SELECT de votre requête TQL. Consultez la documentation TQL SELECT pour la liste complète des colonnes disponibles (sémantiques, champs dynamiques, champs personnalisés, etc.).
Export XLSX
Vous pouvez exporter les résultats d’une requête enregistrée au format XLSX (Excel).
Lorsque vous cliquez sur le bouton Export XLSX, deux modes d'export vous sont proposés si les résultats s'étendent sur plusieurs pages :
Tout exporter — Exporte l'intégralité des artifacts correspondant à la requête (toutes les pages), sans les liens entre artifacts. C'est le mode le plus courant pour obtenir un export complet.
Exporter avec les liens — Exporte uniquement les artifacts de la page en cours, accompagnés de leurs liens (liens directs et liens inverses) visibles dans le widget. Ce mode est utile pour conserver les relations entre artifacts dans votre export.
Attention
Seuls certains types de champs peuvent être exportés en XLSX :
Champs de type texte (String, Text)
Champs numériques (Integer, Float)
Champs de date (avec ou sans heure)
Listes à sélection simple (Selectbox, Radio button)
Les listes à sélection multiple (Multi-selectbox, Checkbox) et les autres types de champs ne sont pas encore pris en charge et seront ignorés lors de l'export.
Différences entre tableau de bord projet et personnel
Le widget Recherche multi trackers est disponible dans les deux contextes de tableau de bord, mais son comportement diffère sur plusieurs points.
Clause FROM : sélection des projets et trackers
La différence principale concerne la manière de cibler les projets dans la clause FROM de vos requêtes TQL :
Tableau de bord projet :
@project = 'self'— Cible le projet courant. C'est la valeur la plus courante dans ce contexte.@project = 'aggregated'— Cible les projets agrégés dans le cas d'un projet de type Programme.@project IN('self', 'aggregated')— Combine le projet courant et ses projets agrégés.@project.name = 'nom_du_projet'— Cible un projet spécifique par son nom court.@project.category = 'Topic::Hardware'— Cible les projets d'une catégorie donnée.
Tableau de bord personnel :
@project = MY_PROJECTS()— Cible l'ensemble des projets dont vous êtes membre. C'est la valeur la plus courante dans ce contexte.@project.name = 'nom_du_projet'— Cible un projet spécifique par son nom court.@project.category = 'Topic::Hardware'— Cible les projets d'une catégorie donnée.
Attention
@project = 'self'et@project = 'aggregated'ne sont pas utilisables sur le tableau de bord personnel (une erreur sera affichée). Inversement, sur un tableau de bord projet, la condition projet est facultative dansFROM: si elle est absente, la requête ciblera implicitement le projet courant.
Info
Sur le tableau de bord personnel, la condition projet est obligatoire dans la clause
FROM. Pour plus de détails, consultez la documentation TQLFROM.
Suggestions de requêtes
Les suggestions proposées sont adaptées au contexte :
Projet : les suggestions utilisent
@project = 'self'pour rester dans le périmètre du projet.Personnel : les suggestions utilisent
@project = MY_PROJECTS()et incluent la colonne@project.namepour identifier la provenance des artifacts.
Colonnes recommandées
Sur un tableau de bord personnel, il est recommandé d'inclure @project.name dans votre clause SELECT afin d'identifier facilement de quel projet provient chaque artifact, puisque les résultats proviennent potentiellement de plusieurs projets.
Cas d'usage courants
Vue consolidée de mes tâches
Sur votre tableau de bord personnel, créez une requête pour voir tous les artifacts qui vous sont assignés à travers vos projets :
SELECT @pretty_title, @project.name, @tracker.name, @status, @last_update_date
FROM @project = MY_PROJECTS()
WHERE @assigned_to = MYSELF() AND @status = OPEN()
ORDER BY @last_update_date DESCSuivi des tickets d'un projet support
Sur le tableau de bord d'un projet, suivez les tickets ouverts d'un tracker spécifique :
SELECT @pretty_title, @status, @assigned_to, @submitted_by, @last_update_date
FROM @project = 'self' AND @tracker.name = 'ticket'
WHERE @status = OPEN()
ORDER BY @last_update_date DESCRecherche multi-projets par catégorie
Interrogez tous les projets d'une catégorie donnée pour obtenir une vue transversale :
SELECT @pretty_title, @project.name, @status, @assigned_to
FROM @project.category = 'Topic::Team' AND @tracker.name IN('epic', 'story')
WHERE @status = OPEN()
ORDER BY @last_update_date DESCRecherche d'artifacts liés (parents/enfants)
Utilisez la syntaxe de recherche par liens pour trouver des artifacts en fonction de leurs relations :
SELECT @pretty_title, @status
FROM @project = 'self'
WHERE @status = OPEN() AND WITHOUT PARENTInfo
Pour une référence complète de la syntaxe TQL (conditions, opérateurs, recherche par liens, alias, etc.), consultez la page TQL in Cross-Tracker Search.
Permissions
Le widget distingue deux niveaux d'accès :
Administrateurs du tableau de bord (administrateurs du projet ou propriétaire du tableau de bord personnel) :
Créer, éditer et supprimer des requêtes
Définir la requête par défaut
Toutes les actions de consultation et d'export
Utilisateurs en lecture seule :
Consulter les résultats des requêtes enregistrées
Naviguer entre les requêtes et les pages de résultats
Exporter les résultats en XLSX
Accéder aux artifacts depuis le tableau de résultats
Les boutons Éditer, Supprimer et Créer une nouvelle requête ne sont visibles que pour les administrateurs.
Erreurs fréquentes
Utilisation de
@project = 'self'sur le tableau de bord personnel — Cette syntaxe n'est pas supportée dans un contexte personnel. Utilisez@project = MY_PROJECTS()ou@project.name = 'nom_du_projet'à la place.Utilisation de
@project = 'aggregated'hors d'un projet Programme — Cette syntaxe n'est supportée que sur le tableau de bord d'un projet ayant le service Program Management activé.Clause
SELECT,FROMouWHEREmanquante — Les trois clausesSELECT,FROMetWHEREsont obligatoires dans une requête Cross-Tracker Search.« Aucun tracker trouvé » — La clause
FROMne correspond à aucun tracker auquel vous avez accès. Vérifiez les noms de projets et de trackers.
Info
Pour la liste complète des erreurs possibles (syntaxe, champs incompatibles, requête trop complexe, etc.), consultez la section Erreurs de la documentation TQL.