Partager via


Champs de requête, opérateurs, valeurs et variables

Les listes d'éléments de travail peuvent être recherchées et créés par la création de requêtes d'élément de travail. En définissant une ou plusieurs clauses, filtrez tous les éléments de travail d'un projet d'équipe ou d'une collection de projets d'équipe afin de retourner l'ensemble d'éléments de travail qui vous intéresse. Pour chaque clause vous pouvez spécifier un champ, un opérateur et une valeur ou variable. Par exemple, vous pouvez rechercher tous les éléments de travail dans un projet d'équipe particulier en spécifiant le champ Projet d'équipe, l'opérateur d'égalité (=) et le nom du projet d'équipe comme valeur. Au lieu de spécifier une valeur, vous pouvez spécifier une variable telle que @Project qui représente le projet d'équipe actuel.

Exemple de clause de requête

Et/ou

Champ

Opérateur

Valeur

Et

Projet d'équipe

=

@Project

Pour plus d'informations générales sur les requêtes, consultez Rechercher des éléments de travail. Pour plus d'informations sur la navigation dans l'Éditeur de requêtes ou dans l'Affichage des requêtes à l'aide de raccourcis clavier, consultez Raccourcis clavier : Visual Studio Online, portail web TFS et Team Explorer.

Dans cette rubrique

  • Et/ou

  • Champs de requête et valeurs

  • Opérateurs de requête

  • Variables de requête

  • Recherches de mots partiels et en texte intégral

  • Champs de requête indexés

Liste de vérification pour la définition d'une clause de requête :

  1. Dans la première ligne vide, sous l'en-tête de colonne Champ, sélectionnez la flèche bas pour afficher la liste des champs disponibles, puis sélectionnez un élément dans la liste.

    Pour plus d'informations, voir Champs de requête et valeurs.

  2. Dans la même ligne, sous l'en-tête de colonne Opérateur, sélectionnez la flèche bas pour afficher la liste des opérateurs disponibles, puis choisissez un élément dans la liste.

    Pour plus d'informations, voir Opérateurs.

  3. Dans la même ligne, sous l'en-tête de colonne Valeur, tapez une valeur ou cliquez sur la flèche bas et sélectionnez un élément dans la liste.

  4. Pour plus d'informations sur l'utilisation de variables pour spécifier le projet d'équipe, la date ou l'utilisateur actuel, consultez Variables.

  5. Pour ajouter une clause, sélectionnez Cliquer ici pour ajouter une nouvelle clause ou Ajouter une nouvelle clause.

    Vous pouvez ajouter une clause à la fin de la requête, insérer une clause après une clause existante (Insérer la clause de requête), et supprimer (Supprimer la clause de requête), regrouper (Regrouper la clause de requête) et dégrouper (Dissocier la clause de requête) des clauses selon vos besoins.

Et/ou

Spécifiez Et ou Ou pour créer les expressions logiques des clauses de votre requête. Spécifiez Et pour rechercher des éléments de travail qui répondent à la fois aux critères de la clause courante et de la clause précédente. Spécifiez Ou pour rechercher des éléments de travail qui répondent soit aux critères de la clause courante, soit aux critères de la clause précédente.

Vous pouvez ajouter une nouvelle clause pour chaque champ d'élément de travail pour affiner vos critères de recherche, de sorte qu'elle retourne uniquement le jeu d'éléments de travail de votre choix. Si vous ne recevez pas les résultats attendus de votre requête, vous pouvez ajouter, supprimer, grouper ou dissocier des clauses de requête pour affiner vos résultats de la requête.

Les clauses de requête peuvent être groupées pour fonctionner comme une unité unique distincte du reste de la requête, à l'instar de la mise entre parenthèses d'une expression dans une équation mathématique ou une instruction logique. Lorsque vous groupez des clauses, l'opérateur AND ou OR de la première clause du groupe s'applique à l'ensemble du groupe.

Comme l'illustre l'exemple suivant, les clauses regroupées sont traduites en l'expression logique correspondante. La première expression retourne les éléments de travail qui sont de priorité 1 ainsi que tous les bogues actifs, quelle qu'en soit la priorité. La seconde expression retourne tous les éléments de travail de priorité 1 actifs et tous les bogues de priorité 1, qu'ils soient actifs ou pas.

Clauses regroupées

Expression logique

Opérateur OR avec Grouped AND Clause

Priority=1 OR (Work Item Type=Bug AND State=Active)

Opérateur AND avec Grouped OR Clause

Priority=1 AND (Work Item Type=Bug OR State=Active)

Pour plus d'informations, consultez Spécifier des critères de filtre de requête.

Champs de requête et valeurs

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 :

Type de données

Données stockées

DateTime

Moment exprimé en temps UTC (Universal Coordinated Time). Vous pouvez spécifier une variable (telle que @Today ou @Today-1) ou une valeur (telle que 1/1/2012).

Double

Nombre réel, tel que 0,2 ou 3,5.

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 la section Recherches de mots partiels et en texte intégral plus loin dans cette rubrique.

HTML

Chaînes de texte qui prennent en charge des descriptions mises en forme, telles que 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 la section Recherches de mots partiels et en texte intégral plus loin dans cette rubrique.

Notes

Lorsque vous mettez à niveau Team Foundation Server, le champ Description passe du type PlainText au type HTML.Avec la commande witadmin changefield, vous pouvez rétablir comme vous le souhaitez le type de données pour ce champ.Voir Gérer des champs d'éléments de travail (witadmin).

Integer

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

PlainText

Chaînes de texte qui prennent en charge de longues descriptions, telles que 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 la section Recherches de mots partiels et en texte intégral plus loin dans cette rubrique.

String

Chaîne de texte courte qui contient jusqu'à 255 caractères Unicode.

TreePath

Arborescence de branchement, par exemple un chemin de zone ou un chemin d'itération. Vous devez choisir un élément dans une liste de valeurs valides. Vous pouvez rechercher des éléments de travail qui sont égaux à une arborescence ou qui se trouvent sous celle-ci. Pour plus d'informations, consultez Ajouter et modifier des chemins de zone et d'itération.

Retour au début

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 des champs d'éléments de travail pour Visual Studio ALM.

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, incluant Double, GUID, Integer, String, DateTime et TreePath

<>

Ne correspond pas à la valeur dans la clause.

Number, String, DateTime, et TreePath

>

Est supérieure à la valeur dans la clause.

Nombre, String, et DateTime

<

Est inférieure à la valeur dans la clause.

Nombre, String, et DateTime

>=

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

Nombre, String, et DateTime

<=

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

Nombre, String, et DateTime

=[Champ]

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é

<>[Champ]

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é

>[Champ]

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é

<[Champ]

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é

>=[Champ]

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é

<=[Champ]

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é

Contient

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

String

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.

String

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 *. 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 et au 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.

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

Vers l'avant

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.

Important

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, String, DateTime, TreePath

Dans le groupe

Correspond à une valeur qui est membre du groupe dans la clause. Les groupes correspondent au nom d'une catégorie ou d'un groupe TFS. 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.

Vous ne pouvez pas spécifier de groupe de sécurité ou de groupe de distribution par messagerie électronique comme valeur.

Pour obtenir plus d'exemples, voir Exemples de requêtes.

String qui correspond au nom d'un groupe d'utilisateurs ou d'un groupe de catégories dans Team Foundation Server.

Notes

Vous pouvez uniquement utiliser l'opérateur Dans le groupe avec des champs qui utilisent le type de données String ou le champ Type d'élément de travail.

Pour plus d'informations sur les groupes de catégories, consultez Utiliser les 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 Team Foundation Server ou d'un groupe de catégories défini pour un projet d'équipe.

Notes

Vous pouvez uniquement utiliser l'opérateur Pas dans le groupe avec des champs qui utilisent le type de données String ou le champ Type d'élément de travail.

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

Toujours

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

String, DateTime

Sous

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

TreePath

Pas sous

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

TreePath

Retour au début

Variables de requête

Vous pouvez utiliser les variables dans le tableau suivant pour rechercher des éléments de travail en rapport avec l'utilisateur actuel, le projet actuel ou la date actuelle.

Variable de requête

Utilisation

@Me

Utilisez cette variable pour rechercher automatiquement l'alias de l'utilisateur actuel dans un champ qui contient des alias d'utilisateur. Par exemple, vous pouvez rechercher les éléments de travail que vous avez ouverts si vous affectez à la colonne Champ la valeur Activé par, à la colonne Opérateur la valeur = et à la colonne Valeur la valeur @Me.

@Project

Utilisez cette variable pour rechercher des éléments de travail dans le projet d'équipe actuel. Par exemple, vous pouvez trouver tous les éléments de travail dans le projet d'équipe actuel si vous affectez à la colonne Champ la valeur Projet d'équipe, à la colonne Opérateur la valeur = et à la colonne Valeur la valeur @Project.

@Today

Utilisez cette variable pour rechercher des éléments de travail en rapport avec la date actuelle ou une date antérieure. Vous pouvez également modifier la variable @Today en retirant des jours. Par exemple, vous pouvez rechercher tous les éléments activés la semaine dernière en affectant à la colonne Champ la valeur Date d'activation, à la colonne Opérateur la valeur >= et à la colonne Valeur la valeur @Today - 7.

[Any]

Utilisez cette variable pour rechercher des éléments de travail en rapport avec n'importe quelle valeur définie pour un champ particulier.

Retour au début

Recherches de mots partiels et en texte intégral

Spécifiez Contient ou Ne contient pas pour rechercher des correspondances exactes ou partielles d'un mot ou d'une expression. Spécifiez Contient les mots ou Ne contient pas les mots 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 Visual Studio Online, ne prennent pas en charge la recherche en texte intégral.Dans ce cas, seuls les opérateurs Contient et Ne contient pas s'affichent.

Contient les mots et Ne contient pas les mots sont des éléments de filtre basés sur l'index de recherche de texte intégral créé pour des champs de texte long. Team Foundation indexe 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 d'équipe 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 Contient ou Ne contient pas.

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

Champs de requête indexés

Outre l'index de recherche en texte intégral, un index de requête est créé. Il est basé sur les champs dont l'indexation est activée. L'index de requête améliore le temps de réponse lorsque vous exécutez des requêtes qui incluent des champs indexés.

Par défaut, les champs suivants sont indexés : Assigné à, Date de création, Modifié par, État, Raison, ID de zone, ID d'itération et Type d'élément de travail. S'il existe d'autres champs fréquemment utilisés dans les requêtes de votre équipe, vous pouvez les ajouter à l'index de requête.

Utilisez la commande witadmin indexfield pour activer ou désactiver l'indexation d'un champ. Voir Gérer des champs d'éléments de travail (witadmin).

Voir aussi

Concepts

Rechercher des éléments de travail