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.
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>=@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>=@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>=@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>=@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>=@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.
Articles connexes
- Utilisez la référence rapide des requêtes
- En savoir plus sur les requêtes managées
- Accéder à l'index des champs d'éléments de travail
- Comprendre la syntaxe du Work Item Query Language (WIQL)
API REST
Pour interagir par programmation avec des requêtes, consultez l’une de ces ressources d’API REST :