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 spécifiques à Team Web Access 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 :
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.
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.
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.
Pour plus d'informations sur l'utilisation de variables pour spécifier le projet d'équipe, la date ou l'utilisateur actuel, consultez Variables.
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 (), et supprimer (), regrouper () et dégrouper () 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 |
---|---|
Priority=1 OR (Work Item Type=Bug AND State=Active) |
|
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 [redirection].
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.Consultez 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. |
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. 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égorie, 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égorie, 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. Consultez Gérer des champs d'éléments de travail (witadmin).