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

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

Cet article fournit des descriptions de chaque type de données de champ, opérateur de requête et macro de requête. Certains types de données, opérateurs et macros sont uniquement valides pour la version Azure DevOps indiquée.

Pour plus d'informations, veuillez consulter la section Référence rapide des requêtes et Gérer et organiser les requêtes.

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

Un champ de date dans lequel vous pouvez spécifier une variable, telle que @Today ou @Today-1, ou une valeur, telle que 01/01/2025. 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.

picklistDouble

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

picklistInteger

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

picklistString

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. Trouvez les éléments de travail égaux à, non égaux à, sous ou non sous une structure arborescente. Vous pouvez également utiliser les opérateurs In ou Not In pour spécifier plusieurs valeurs. Définissez la structure arborescente d'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

Les types de données liste de sélection... sont uniquement affectés aux champs personnalisés définis pour un processus hérité.

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.

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

Utilisez les opérateurs de requête dans le tableau suivant pour spécifier comment chaque valeur dans une clause doit se rapporter à 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 plus d’informations, veuillez consulter 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é
Vérifie si le champ booléen est égal à un autre champ

<>[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é
Vérifie si le champ booléen n'est pas égal à un autre champ

>[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 pourriez 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 et Azure DevOps Server.

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 et Azure DevOps Server.

HTML

Pas dans

Ne correspond à aucune valeur dans un jeu délimité. Vous pouvez exclure des éléments de travail dont les états ne sont pas Résolus, Terminés ou Fermés des résultats de la requête 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 pourriez utiliser une virgule ,.

L'opérateur Not In est pris en charge pour Azure Boards et Azure DevOps Server.

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, veuillez consulter la section 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.

String qui correspond au nom d’un groupe d'utilisateurs dans Azure DevOps Server ou à un groupe de catégories défini pour un projet.

Remarque

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

L’opérateur Was Ever sur les champs de date n’est actuellement pas pris en charge lors de l’utilisation de l'éditeur de requêtes. Ils ne sont pris en charge que lors d'une requête directe en WIQL.

Conseil

Il est possible de construire une requête à l’aide de la syntaxe WIQL qui utilise un opérateur, tel que 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 aucun filtre basé sur le 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 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 plus d’informations, consultez Suivre un élément de travail ou une demande de tirage ( pull request). 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, veuillez consulter la section Faire une requête par attribution, workflow ou modifications du tableau.


@MyRecentActivity

Utilisez avec le champ ID et l'opérateur In pour répertorier les éléments de travail que vous avez consulté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.


@RecentMentions

Utilisez avec le champ ID et l'opérateur In pour répertorier les éléments de travail dans lesquels vous êtes 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é.


@RecentProjectActivity

Utilisez avec le champ ID et l'opérateur In pour répertorier les éléments de travail 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 très actifs, la macro répertorie les éléments de travail 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.


@StartOfDay

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.


@StartOfMonth

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.


@StartOfWeek

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.


@StartOfYear

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 uniquement pour Azure DevOps Server 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.


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 indexe automatiquement tous les champs de texte long avec un type de données Texte brut et HTML, ainsi que le champ Titre pour la recherche en texte intégral. L’index et les opérateurs ne sont disponibles que lorsque le serveur SQL qui prend en charge Azure DevOps 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 collation pour la base de données de collection de projets utilisée pour votre instance Azure DevOps Server ne correspondent pas à une langue prise en charge, vos résultats de recherche peuvent 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 :