Champs, opérateurs et macros de requête dans Azure Boards

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Vous trouverez ici des descriptions détaillées de chacun des types de données de champ, opérateurs de requête et macros de requête. Certains types de données, opérateurs et macros sont uniquement valides pour la version Azure DevOps indiquée.

Pour obtenir une référence rapide des tâches de requête, des opérateurs et des macros pris en charge pour chaque type de données, consultez Référence rapide des requêtes. Consultez également Créer une requête/Meilleures pratiques.

Types de données et valeurs de champ de requête

La valeur que vous spécifiez pour un champ doit être conforme au type de données de ce champ. Le tableau suivant répertorie les types de données pris en charge :

Notes

Pour le service cloud Azure Boards, le type de données correspond à celui répertorié pour le champ dans la page Processus>Champs. Pour les déploiements locaux, le type de données correspond à l’attribut type affecté à une définition FIELD. Pour plus d’informations, consultez Champs d’élément de travail et attributs de champ.

Type de données

Description

Booléen

Spécifie un champ qui prend une valeur True/False.

DateTime ou Date/Heure

Champ de date dans lequel vous pouvez spécifier une variable, telle que @Today ou @Today-1, ou une valeur, comme 1/1/2023. Entrez des dates dans le modèle de date que vous définissez pour votre profil personnel. (Pour obtenir plus d’informations, consultez Définir des préférences personnelles). Pour obtenir des exemples de requêtes, voir Query by date or @CurrentIteration.

Pour les requêtes WIQL, vous pouvez également spécifier la date dans le modèle de temps universel coordonné (UTC). Si vous souhaitez obtenir plus d’informations, consultez Syntaxe du langage WIQL.

Double ou Décimal

Nombre réel, tel que 0,2 ou 3,5. Pour obtenir des exemples de requête, consultez Interroger par champs numériques.

GUID

Chaîne de caractères qui représente un ID unique.

History

Champ à mise en forme personnalisée utilisé pour suivre les informations historiques. Ce type de données est uniquement utilisé pour prendre en charge le champ Historique. Ce champ est automatiquement indexé pour la recherche en texte intégral lorsque celle-ci est disponible. Consultez l’article Recherches de mots partiels et en texte intégral plus loin dans cette rubrique. Pour obtenir des exemples de requête, consultez Historique et audit.

HTML

Chaînes de texte qui prennent en charge des descriptions mises en forme, comme les champs Description ou Étapes de reproduction. Ces champs sont automatiquement indexés pour la recherche en texte intégral lorsque celle-ci est disponible. Consultez l’article Recherches de mots partiels et en texte intégral plus loin dans cette rubrique. Pour interroger des champs de texte enrichi, consultez Interroger par titre, ID et champs de texte enrichi.

Identité

Chaîne de texte courte qui identifie une identité utilisateur.

Integer

Entier 32 bits signé, tel que 0, 1, 2, 34.

PlainText ou Champ de texte (multiligne)

Chaînes de texte qui prennent en charge de longues descriptions, comme le champ Informations de démarrage de l’application. Ces champs sont automatiquement indexés pour la recherche en texte intégral lorsque celle-ci est disponible. Consultez l’article Recherches de mots partiels et en texte intégral plus loin dans cette rubrique. Pour interroger des champs de texte brut, consultez Interroger par titre, ID et champs de texte enrichi.

picklistDouble1

Champ personnalisé défini pour contenir une liste de sélection de valeurs décimales.

picklistInteger1

Champ personnalisé défini pour contenir une liste de choix de valeurs entières.

picklistString1

Champ personnalisé défini pour contenir une liste de choix de valeurs de chaîne de texte courte (255 caractères ou moins).

Chaîne ou Champ de texte (ligne unique)

Chaîne de texte courte qui contient jusqu'à 255 caractères Unicode. Les champs de texte de chaîne sont souvent utilisés pour prendre en charge les listes déroulantes ou les menus déroulants.

TreePath

Arborescence de branchement, par exemple un chemin de zone ou un chemin d’itération. Choisissez un élément dans une liste de valeurs valides. Recherchez les éléments de travail qui sont égaux, non égaux, sous une arborescence ou non, ou utilisez les opérateurs In ou Not In pour spécifier plusieurs valeurs. Vous définissez l’arborescence pour un projet (chemins de zone et chemins d’itération), puis sélectionnez ceux que vous souhaitez associer à une équipe.

Pour plus d’informations sur la construction de requêtes, consultez Interroger par zone ou chemin d’itération ou Interroger par date ou itération actuelle.

Notes

  1. Les types de données liste de sélection... sont uniquement affectés aux champs personnalisés définis pour un processus hérité. Le modèle de processus hérité est uniquement pris en charge pour Azure DevOps Services et Azure DevOps Server 2019.

Modèle de date et d’heure

Le modèle de date et d’heure que vous entrez pour les champs DateTime doit correspondre à celui que vous sélectionnez dans votre profil. Pour afficher ou modifier votre sélection, consultez Définir les préférences utilisateur en matière d’heure et de paramètres régionaux.

Capture d’écran montrant les options de liste déroulante Modèle de date dans le volet Heure et paramètres régionaux.Capture d’écran montrant les options de liste déroulante Modèle d’heure dans le volet Heure et paramètres régionaux.

Capture d’écran montrant le volet Heure et paramètres régionaux avec les champs Modèle de date et Modèle d’heure.

Opérateurs de requête

Vous pouvez utiliser des opérateurs de requête dans le tableau suivant pour spécifier la relation entre chaque valeur d'une clause et la valeur correspondante dans un élément de travail. Pour plus d’informations sur le type de données assigné aux champs d’élément de travail, consultez Référence de champ d’élément de travail.

Pour en savoir plus sur l'ajout de clauses et l'utilisation des opérateurs And/Or, consultez la section Définir une requête.

Opérateur de requête

Retourne des éléments de travail si la valeur dans l’élément de travail correspond aux critères répertoriés

Types de données applicables

=

Correspond à la valeur dans la clause.

Nombre (qui inclut Double, GUID, Entier) et Chaîne, DateTime et TreePath

<>

Ne correspond pas à la valeur dans la clause.

Nombre, Chaîne, DateTime et TreePath

>

Est supérieure à la valeur dans la clause.

Nombre, Chaîne et DateTime

<

Est inférieure à la valeur dans la clause.

Nombre, Chaîne et DateTime

>=

Est supérieure ou égale à la valeur dans la clause.

Nombre, Chaîne et DateTime

<=

Est inférieure ou égale à la valeur dans la clause.

Nombre, Chaîne et DateTime

=[Field]

Correspond à la valeur contenue dans le champ spécifié.

Nom d'un champ de même type de données que le champ spécifié

<>[Field]

Ne correspond pas à la valeur contenue dans le champ spécifié.

Nom d'un champ de même type de données que le champ spécifié

>[Field]

Est supérieure à la valeur contenue dans le champ spécifié.

Nom d'un champ de même type de données que le champ spécifié

<[Field]

Est inférieure à la valeur contenue dans le champ spécifié.

Nom d'un champ de même type de données que le champ spécifié

>=[Field]

Est supérieure ou égale à la valeur contenue dans le champ spécifié.

Nom d'un champ de même type de données que le champ spécifié

<=[Field]

Est inférieure ou égale à la valeur contenue dans le champ spécifié.

Nom d'un champ de même type de données que le champ spécifié

Contains

Contient une correspondance exacte ou partielle de la chaîne de texte dans le champ sélectionné pour le filtrage.

Chaîne

Ne contient pas

Ne contient pas une correspondance exacte ou partielle de la chaîne de texte dans le champ sélectionné pour le filtrage.

Chaîne

Contient les mots

Contient la chaîne de texte ou les mots exacts dans le champ que vous avez sélectionné pour le filtrage. Vous pouvez également taper des mots ou expressions partiels contenant le caractère générique *. La chaîne de texte est limitée à 100 caractères. Pour les restrictions, consultez Recherches en texte intégral pour connaître la configuration requise pour le serveur et le classement.

Champs de texte long indexés pour la recherche en texte intégral, qui correspondent à tous les champs PlainText et HTML, ainsi que les champs Historique et Titre.

Ne contient pas les mots

Ne contient pas la chaîne de texte ou les mots exacts dans le champ que vous avez sélectionné pour le filtrage. La chaîne de texte est limitée à 100 caractères.

Utilisez cet opérateur en combinaison avec une clause avec l’opérateur Contains Words pour inclure et exclure des mots clés spécifiques.

Champs de texte indexés pour la recherche en texte intégral.

Dans

Correspond à n'importe quelle valeur dans un jeu délimité. Par exemple, vous pouvez rechercher des éléments de travail dont les ID sont 100, 101 et 102 si vous spécifiez ces valeurs pour le champ ID. Valeurs séparées avec le séparateur de liste qui correspond aux paramètres régionaux définis pour votre ordinateur client. Par exemple, vous pouvez utiliser une virgule (,).

Nombre, Chaîne, DateTime, TreePath

Est vide

Répertorie les éléments de travail qui contiennent un champ HTML vide. Vous ne spécifiez pas de valeur avec cet opérateur. Cet opérateur est pris en charge pour Azure Boards (service cloud), Azure DevOps Server 2019 et versions ultérieures.

HTML

N’est pas vide

Répertorie les éléments de travail qui contiennent du contenu dans le champ HTML. Vous ne spécifiez pas de valeur avec cet opérateur. Cet opérateur est pris en charge pour Azure Boards (service cloud), Azure DevOps Server 2019 et versions ultérieures.

HTML

Pas dans

Ne correspond à aucune valeur dans un jeu délimité. Vous pouvez exclure des résultats de la requête des éléments de travail dont les états ne sont pas Résolu, Terminé ou Fermé si vous spécifiez ces valeurs pour le champ État. Valeurs séparées avec le séparateur de liste qui correspond aux paramètres régionaux définis pour votre ordinateur client. Par exemple, vous pouvez utiliser une virgule (,).

L’opérateur Not In est disponible à partir d’Azure Boards et TFS 2018.2 et versions ultérieures.

Nombre, Chaîne, DateTime, TreePath

Dans le groupe

Correspond à une valeur qui est membre du groupe dans la clause. Les groupes correspondent au nom d’une équipe, d’un groupe de sécurité ou d’une catégorie de suivi du travail. Par exemple, vous pouvez créer une requête pour trouver tous les éléments de travail assignés aux membres du groupe Contributors ou à une équipe. Les groupes d'équipe sont créés quand vous créez une équipe. Le nom des groupes d’équipes suit le modèle [Nom_Projet_Équipe]\Nom_Équipe.

Pour obtenir des exemples de requête, consultez Interroger par affectation ou modifications de workflow.

Chaîne qui correspond au nom d’une équipe, d’un groupe de sécurité ou d’une catégorie défini dans le système.

Notes

Vous pouvez uniquement utiliser l’opérateur In Group avec des champs qui utilisent le type de données String ou le champ Type d’élément de travail. Vous pouvez également utiliser des groupes définis dans Microsoft Entra ID lorsque votre compte Azure Boards s’appuie sur Microsoft Entra ID, ou Active Directory lorsque votre instance de serveur locale s’appuie sur Active Directory.

Pour plus d’informations sur les groupes de catégories, consultez Utiliser des catégories pour regrouper les types d’éléments de travail.

Pas dans le groupe

Ne correspond pas à une valeur qui est membre du groupe dans la clause.

Chaîne qui correspond au nom d’un groupe d’utilisateurs dans Team Foundation Server ou à un groupe de catégories défini pour un projet.

Notes

Vous pouvez uniquement utiliser l’opérateur Not In Group avec des champs qui utilisent le type de données String ou le champ Type d’élément de travail. Vous pouvez également utiliser des groupes définis dans Microsoft Entra ID lorsque votre compte Azure Boards s’appuie sur Microsoft Entra ID, ou Active Directory lorsque votre instance de serveur locale s’appuie sur Active Directory.

Pas sous

Ne correspond pas à la valeur dans la clause et n’est pas contenue sous le nœud dans la clause.

TreePath

Under

Correspond à la valeur dans la clause ou est contenue sous le nœud dans la clause.

TreePath

Toujours

Correspond à la valeur dans la clause à un point précédent quelconque.

String, DateTime

Remarque

Was Ever sur les champs de date n’est actuellement pas pris en charge lors de l’utilisation d’Éditeur de requêtes. Il est uniquement pris en charge lors de l’exécution d’une WIQL directe.

Conseil

Il est possible de créer une requête en utilisant une syntaxe WIQL qui utilise un opérateur, comme Was Ever, pour d’autres champs de type de données que ceux répertoriés. Par exemple, vous pouvez utiliser Was Ever dans une clause à l’aide du Chemin d’itération. Pour obtenir un exemple, consultez Requête par date ou itération actuelle, Répertorier les éléments de travail déplacés d’un sprint.

Interroger avec des macros ou des variables

Vous pouvez utiliser les macros décrites dans le tableau suivant pour filtrer vos requêtes en fonction de champs spécifiques.

Notes

Les macros suivantes sont uniquement prises en charge à partir du portail web : @CurrentIteration, @CurrentIteration +/- n, @Follows, @MyRecentActivity, @RecentMentions, @RecentProjectActivity et @TeamAreas. Les requêtes qui contiennent ces macros ne fonctionnent pas lorsqu’elles sont ouvertes dans Visual Studio/Team Explorer, Microsoft Excel ou Microsoft Project.


Macro

Description


[Any]

Utilisez avec les champs Type d’élément de travail ou État pour effectuer une recherche dans tous les types d’éléments de travail ou dans tous les états. Par exemple, Work Item Type=[Any] ne place pas de filtres en fonction du type d’élément de travail.


@CurrentIteration

Utilisez avec le champ Chemin d’itération pour filtrer automatiquement les éléments de travail affectés au sprint actuel en fonction du focus ou du contexte d’équipe actuel. Pour obtenir des exemples spécifiques, consultez Requête par date ou itération actuelle.
La macro @CurrentIteration fonctionne uniquement lorsqu’elle est exécutée à partir du portail web. Vous ne pouvez pas utiliser la macro lors de la copie ou du clonage de suites de tests et de cas de test, de la définition d’alertes ou avec des API REST.


@CurrentIteration +/- n

Utilisez avec le champ Chemin d’itération pour filtrer l’ensemble d’éléments de travail attribués au sprint actuel +/- n sprints en fonction du focus ou du contexte d’équipe actuel. Pour obtenir des exemples spécifiques, consultez Requête par date ou itération actuelle.
La macro @CurrentIteration +/- n est prise en charge pour Azure Boards, Azure DevOps Server 2019 et versions ultérieures, et uniquement lorsqu’elle est exécutée à partir du portail web.


@Follows

Utilisez avec le champ ID et l’opérateur In pour répertorier tous les éléments de travail que vous suivez dans le projet. Pour en savoir plus sur la fonctionnalité Suivre, consultez Suivre un élément de travail ou une demande de tirage. Vous pouvez afficher cette même liste à partir de la page Éléments de travail, vue croisée dynamique Suivi.
La macro @Follows est prise en charge uniquement lorsqu’elle est exécutée à partir du portail web.


@Me

Utilisez avec un champ d’identité ou de compte utilisateur pour rechercher automatiquement les éléments associés à votre nom d’utilisateur ou de compte. Par exemple, vous pouvez trouver des éléments de travail que vous avez ouverts avec la clause Created By=@Me. Pour plus d’exemples, consultez Requêtes par affectation, workflow ou modifications de tableau Kanban.


@MyRecentActivity1

Utilisez avec le champ ID et l’opérateur In pour répertorier les éléments de travail que vous avez affichés ou mis à jour dans le projet au cours des 30 derniers jours. Vous pouvez afficher cette même liste à partir de la page Éléments de travail, vue croisée dynamique Mon activité.


@Project

Utilisez avec le champ Projet d’équipe pour filtrer les éléments de travail dans d’autres projets. Par exemple, vous pouvez trouver tous les éléments de travail dans le projet actuellement sélectionné avec la clause Team Project=@Project. Le système effectue automatiquement un filtrage par défaut en fonction du projet actuel. Pour obtenir plus d’informations, consultez Définir une requête, Interroger entre les projets.


@RecentMentions1

Utilisez avec les champs ID et In pour répertorier les éléments de travail où vous avez été mentionné dans la section Discussion. Vous pouvez afficher cette même liste à partir de la page Éléments de travail, vue croisée dynamique Mentionné.


@RecentProjectActivity1

Utilisez avec les champs ID et In pour répertorier les éléments de travail qui ont été récemment mis à jour. Le nombre d’éléments de travail répertoriés dépend de l’activité de suivi du travail du projet. Pour les projets hautement actifs, la macro répertorie les éléments de travail qui ont été mis à jour dans le projet au cours des 30 derniers jours environ. Toutefois, pour les projets moins actifs, cette liste peut inclure des éléments de travail remontant à plus de 30 jours. Vous pouvez afficher des listes similaires à partir de la page Éléments de travail, vues croisées dynamiques Récemment créé, Récemment mis à jour et Achèvement récent. Le nombre d’éléments de travail retournés est limité à 5 000.


@StartOfDay2

Utilisez un champ DateTime pour filtrer les éléments de travail liés à la date actuelle avec un décalage plus/moins. Par exemple, vous pouvez trouver tous les éléments fermés au cours de la dernière semaine avec la clause Closed Date&gt;=@StartOfDay-7. Pour plus d’exemples, consultez Requête par date ou itération actuelle.


@StartOfMonth2

Utilisez avec un champ DateTime pour filtrer les éléments de travail liés au mois en cours ou avec un décalage plus/moins. Par exemple, vous pouvez trouver tous les éléments créés au cours des trois derniers mois avec la clause Created Date&gt;=@StartOfMonth-3. Pour plus d’exemples, consultez Requête par date ou itération actuelle.


@StartOfWeek2

Utilisez un champ DateTime pour filtrer les éléments de travail liés à la semaine actuelle avec un décalage plus/moins. Par exemple, vous pouvez trouver tous les éléments modifiés au cours des deux dernières semaines avec la clause Changed Date&gt;=@StartOfWeek-2. Pour plus d’exemples, consultez Requête par date ou itération actuelle.


@StartOfYear2

Utilisez un champ DateTime pour filtrer les éléments de travail liés à l’année actuelle avec un décalage plus/moins. Par exemple, vous pouvez trouver toutes les fonctionnalités dont la date cible est planifiée au cours de l’année en cours avec la clause Target Date&gt;=@StartOfYear. Pour plus d’exemples, consultez Requête par date ou itération actuelle.


@TeamAreas

Utilisez uniquement avec le champ Chemin de zone pour filtrer les éléments de travail dont le chemin de zone correspond à celui attribué à une équipe spécifique. Vous devez utiliser l’opérateur =. Par exemple, vous pouvez trouver tous les éléments affectés aux chemins de zone attribués à l’équipe web avec la clause Area Path=@TeamAreas [Fabrikam Fiber]\Web. Pour plus d’exemples, consultez Requête par zone ou chemin d’itération.
La macro @TeamAreas est prise en charge pour Azure DevOps Server 2019 et versions ultérieures, et uniquement lorsqu’elle est exécutée à partir du portail web.


@Today

Utilisez un champ DateTime pour filtrer les éléments de travail liés à la date actuelle ou à une date antérieure. Vous pouvez également modifier la macro @Today en retirant des jours. Par exemple, vous pouvez trouver tous les éléments créés au cours de la dernière semaine avec la clause Created Date&gt;=@Today-7. Pour plus d’exemples, consultez Requête par date ou itération actuelle.


Notes

  1. Les macros @MyRecentActivity, @RecentMentions et @RecentProjectActivity sont prises en charge pour TFS 2018.2 et versions ultérieures.
  2. Les macros @StartOfDay, @StartOfWeek, @StartOfMonth et @StartOfYear sont prises en charge pour Azure DevOps Server 2019 Update 1 et versions ultérieures.

Recherches de mots partiels et en texte intégral

Spécifiez Contains ou Does Not Contain pour rechercher des correspondances exactes ou partielles d’un mot ou d’une expression. Ces opérateurs filtrent les éléments en fonction de l’index de recherche de texte intégral créé pour des champs de texte long. Spécifiez Contains Words ou Does Not Contain Words pour rechercher une expression exacte ou utiliser le caractère générique, *. Ces opérateurs utilisent l'index de recherche en texte intégral. Vous pouvez utiliser le caractère générique uniquement à la fin d'une partie de mot ou d'expression.

Pour obtenir des exemples, consultez Exemple de requêtes d’élément de travail et Exécuter une requête d’éléments de travail à l’aide du champ Historique.

Notes

Certains déploiements prennent en charge les recherches en texte intégral. Par exemple, SQL Express et SQL Azure, qui prennent en charge le service cloud, ne prennent pas en charge la recherche en texte intégral. Dans ces cas, seuls les opérateurs Contains et Does Not Contain s’affichent.

Azure DevOps Server et Team Foundation Server indexent automatiquement tous les champs de texte long avec un type de données PlainText et HTML et le champ Titre pour la recherche en texte intégral. L’index et les opérateurs sont uniquement disponibles si le serveur SQL Server qui prend en charge Team Foundation Server prend en charge la recherche en texte intégral.

Les recherches en texte intégral requièrent un classement SQL qui correspond à un langage pour lequel un séparateur de mots est enregistré auprès de SQL Server. Si les paramètres de classement pour la base de données de la collection de projets utilisée pour votre instance Team Foundation Server ne correspondent pas à un langage pris en charge, les résultats de la recherche risquent de ne pas correspondre à vos attentes. Dans ces cas, vous pouvez essayer d’utiliser les opérateurs Contains ou Does Not Contain.

Pour plus d’informations, voir Requêtes de recherche en texte intégral et paramètres de classement.

API REST

Pour interagir par programmation avec des requêtes, consultez l’une de ces ressources d’API REST :