Partager via


Définir des listes de choix

Vous pouvez énumérer un ensemble de valeurs pour un champ en établissant une liste de choix dans le cadre de sa définition ou à un moment donné pendant le flux de travail.Vous pouvez spécifier que la liste ne peut contenir que des valeurs autorisées, ne peut pas contenir de valeurs interdites ou peut suggérer des valeurs.Si vous suggérez des valeurs, les utilisateurs peuvent spécifier une valeur différente de celles contenues dans la liste de choix.

Vous pouvez également définir des listes de choix dépendantes, dans lesquelles vous définissez au moins deux listes pour un champ, mais au moment de l'exécution, une seule liste apparaît en fonction de l'évaluation d'une règle conditionnelle.

Dans cette rubrique

  • Structure de la syntaxe pour l'énumération des listes de choix

  • Structure de la syntaxe des éléments GLOBALLIST et LISTITEM

  • Autorisation d'une valeur existante

  • Énumération d'un ensemble de valeurs autorisées

  • Définition de listes de choix dépendantes

[!REMARQUE]

Pour ajouter ou modifier une liste de choix pour une définition d' FIELD, utilisez l'outil en ligne de commande des witadmin pour importer et exporter la définition du type d'élément de travail.Consultez Personnaliser et gérer des types d'éléments de travail (witadmin).

Structure de la syntaxe pour l'énumération des listes de choix

Vous pouvez utiliser les éléments ALLOWEDVALUES, SUGGESTEDVALUES et PROHIBITEDVALUES pour spécifier une liste des valeurs qu'un utilisateur doit spécifier, peut spécifier ou ne doit pas spécifier pour un champ.Si vous utilisez chacun de ces éléments, vous pouvez énumérer une liste d'éléments ou spécifier une liste globale.Vous pouvez utiliser ALLOWEXISTINGVALUE pour permettre à un champ de stocker une valeur existante si vous supprimez un élément de la liste de choix.

Vous pouvez spécifier ces éléments en tant qu'éléments enfants de l'élément FIELD (Définition) ou FIELD (Flux de travail).

  • Vous utilisez ALLOWEDVALUES pour définir une liste de valeurs que les utilisateurs peuvent spécifier dans un formulaire d'élément de travail ou dans l'éditeur de requêtes.Les utilisateurs doivent spécifier l'une des valeurs contenues dans GLOBALLIST ou dans l'ensemble d'entrées LISTITEM.

    <ALLOWEDVALUES for="userGroupName" not="userGroupName" expanditems="true | false" filteritems="excludegroups">
       <GLOBALLIST name="globalListName" />
       <LISTITEM value="Name1" />
       <LISTITEM value="Name2" />
       <LISTITEM value="Name3" />
    . . . 
    </ALLOWEDVALUES>
    
  • Vous utilisez PROHIBITEDVALUES pour définir une liste de valeurs interdites pour un champ.Les utilisateurs ne peuvent pas enregistrer un élément de travail si le champ contient une valeur interdite.Utilisez cet élément si vous voulez restreindre l'utilisation d'une valeur qui était auparavant autorisée, mais n'est plus valide.

    <PROHIBITEDVALUES for="userGroupName" not="userGroupName" expanditems="true | false" filteritems="excludegroups">
       <GLOBALLIST name="globalListName" />
       <LISTITEM value="Name1" />
       <LISTITEM value="Name2" />
       <LISTITEM value="Name3" />
    . . . 
    </PROHIBITEDVALUES>
    
  • Utilisez SUGGESTEDVALUES pour définir une liste de valeurs autorisées pour un champ.Les utilisateurs peuvent spécifier d'autres valeurs en plus de celles que vous suggérez.

    <SUGGESTEDVALUES for="userGroupName" not="userGroupName" expanditems="true | false" filteritems="excludegroups">
       <GLOBALLIST name="globalListName" />
       <LISTITEM value="Name1" />
       <LISTITEM value="Name2" />
       <LISTITEM value="Name3" />
    . . . 
    </SUGGESTEDVALUES>
    

Pour chacun de ces éléments, vous pouvez spécifier un ou plusieurs des attributs décrits dans le tableau suivant :

Attribut

Description

for

Optionnel.Spécifie le nom d'un utilisateur ou d'un groupe dans Team Foundation auquel la règle s'applique.Les noms valides sont constitués d'une chaîne de texte qui contient entre 1 et 255 caractères.

Valeur de modèle : ^[^\\]+\\[^\\]+$

Exemple de valeur de modèle : Domaine\IDutilisateur

not

Optionnel.Spécifie le nom d'un utilisateur ou d'un groupe dans Team Foundation auquel la règle ne s'applique pas.Les noms valides sont constitués d'une chaîne de texte qui contient entre 1 et 255 caractères.

Valeur de modèle : ^[^\\]+\\[^\\]+$

Exemple de valeur de modèle : Domaine\IDutilisateur

expanditems

Optionnel.Indique si un groupe identifié dans l'élément LISTITEM doit être développé pour inclure des groupes subordonnés dans la liste.La valeur par défaut est true.

filteritems

Optionnel.Spécifie que la liste inclut uniquement les membres des groupes et non les noms de groupes.La seule valeur valide de cet attribut est excludegroups.

Pour plus d'informations, consultez Définir des listes utilisateur, des listes de choix et des listes globales.

Retour au début

Structure de la syntaxe des éléments GLOBALLIST et LISTITEM

Vous pouvez utiliser les éléments GLOBALLIST et LISTITEM pour énumérer une liste d'éléments pouvant être mis à jour de façon globale ou qui sont spécifiques à un seul champ.

  • Utilisez GLOBALLIST pour définir un ensemble d'éléments LISTITEM stocké pour une collection de projets d'équipe et pouvant être utilisé par tous les projets d'équipe de cette collection.GLOBALLIST est un élément enfant obligatoire de l'élément GLOBALLISTS et un élément enfant facultatif des éléments ALLOWEDVALUES, SUGGESTEDVALUES et PROHIBITEDVALUES.Vous pouvez définir une liste globale dans une définition d'élément de travail, une définition de liste globale ou un flux de travail global.

    <GLOBALLIST name="globalListName">
       <LISTITEM value="Name1" />
       <LISTITEM value="Name2" />
       <LISTITEM value="Name3" />
    . . . 
    </GLOBALLIST> 
    

    NomListeGlobale : chaîne de texte qui contient entre 1 et 255 caractères.

    Important

    Si vous définissez une liste globale dans un fichier XML définissant un type d'élément de travail, vous devez attribuer un nom unique à la liste.Sinon, vous pouvez remplacer une liste existante définie pour la collection.

  • Utilisez LISTITEM pour énumérer un ensemble de valeurs.LISTITEM est un élément enfant obligatoire de l'élément GLOBALLIST et un élément enfant facultatif des éléments ALLOWEDVALUES, SUGGESTEDVALUES et PROHIBITEDVALUES.

    <LISTITEM value="listName" />
    

    NomListe : chaîne de texte qui contient entre 1 et 255 caractères.

Retour au début

Autorisation d'une valeur existante

Vous pouvez utiliser l'élément ALLOWEXISTINGVALUE pour permettre à un champ de conserver des valeurs existantes, après avoir spécifié une liste de choix d'éléments à l'aide de l'élément ALLOWEDVALUES.Si vous ne spécifiez pas l'élément ALLOWEXISTINGVALUE, vous forcez l'utilisateur, au moment de la modification, à spécifier l'une des valeurs valides actuelles pour ce champ.L'élément ALLOWEXISTINGVALUE modifie uniquement ces éléments dans le même bloc.

<ALLOWEXISTINGVALUE />

Spécifiez cet élément sous l'élément FIELD (flux de travail) pour l'appliquer aux règles définies pour le champ.Cette application inclut les règles spécifiées par les éléments STATE, TRANSITION, DEFAULTREASON et REASON du champ.Spécifiez cet élément sous l'élément STATE pour l'appliquer aux règles définies dans l'état du champ, ainsi qu'aux règles définies pour le champ pour toutes les transitions dans l'état.

Spécifiez cet élément sous l'élément TRANSITION pour l'appliquer aux règles définies dans la transition du champ, ainsi qu'aux règles définies pour le champ dans les éléments REASON et DEFAULTREASON.

Retour au début

Énumération d'une liste

Les listes de champs sont composées d'éléments de liste individuels.Chaque liste de champs doit contenir au moins un élément.

[!REMARQUE]

Les listes globales ne doivent pas inclure de groupes à portée de projet parce qu'elles ne sont pas limitées au projet.

Pour spécifier des éléments dans une liste de champs, utilisez l'élément <LISTITEM value="">.Vous pouvez spécifier une chaîne, un nom d'utilisateur ou un nom de groupe.

<LISTITEM value="Emergency"/>
<LISTITEM value="Major"/>
<LISTITEM value="Minor"/>
<LISTITEM value="Domain\joe"/>
<LISTITEM value="[Global]\GlobalGroup" />
<LISTITEM value="[Project]\ProjectGroup" />

[!REMARQUE]

Au moment de l'exécution, les éléments d'une liste s'affichent par ordre alphabétique en fonction de la langue du serveur exécutant Visual Studio Team Foundation Server.

Retour au début

Énumération d'un ensemble de valeurs autorisées

Dans cet exemple, le champ Customer Severity peut avoir l'une des trois valeurs suivantes : Emergency, Major et Minor.Le champ est défini comme obligatoire et prend la valeur par défaut Minor.Au moment de l'exécution, les utilisateurs peuvent spécifier l'une des valeurs dans une liste déroulante.

<FIELD refname="System.Title" name="Title" type="String">
<HELPTEXT>Provide a brief description of the work item</HELPTEXT>
<REQUIRED/>
</FIELD>
<FIELD refname="MyCorp.CusSeverity" name="Customer Severity" type="String">
<HELPTEXT>Indicate the severity of the problem</HELPTEXT>
    <ALLOWEDVALUES>
        <LISTITEM value="Emergency">
        <LISTITEM value="Major">
        <LISTITEM value="Minor">
    </ALLOWEDVALUES>
<DEFAULT from="value" value="Minor"/>
</FIELD>

Retour au début

Définition de listes de choix dépendantes

Vous pouvez définir une liste de choix qui est active uniquement lorsque sa clause conditionnelle parente a pour valeur True.Dans l'exemple suivant, deux ensembles de listes de choix sont définis pour My Field.Au moment de l'exécution, une seule liste s'affiche en fonction de les spécifications est assignée au champ d' MyCompany.MyTeam.Discipline .

[!REMARQUE]

Les règles WHEN et WHENNOT utilisées dans cet exemple peuvent aussi s'appliquer à d'autres règles pour spécifier quand les évaluer.Pour plus d'informations, consultez Assigner des valeurs et des règles conditionnelles.

<FIELD name="My Field" refname="MyCompany.MyProcess.MyField" type="String" reportable="dimension">
  <WHEN field="MyCompany.MyTeam.Discipline" value="Requirements">
    <ALLOWEDVALUES>
      <LISTITEM value="Planning" />
      <LISTITEM value="Review" />
    </ALLOWEDVALUES>
  </WHEN>
  <WHENNOT field=" MyCompany.MyTeam.Discipline" value="Requirements">
    <ALLOWEDVALUES>
      <LISTITEM value="Process Management" />
      <LISTITEM value="Planning" />
      <LISTITEM value="Review" />
    </ALLOWEDVALUES>
  </WHENNOT>
</FIELD>

Retour au début

Voir aussi

Concepts

Définir des listes utilisateur, des listes de choix et des listes globales

Autres ressources

Index des définitions d'éléments XML pour les types d'éléments de travail

Personnaliser le flux de travail global

Définir des champs d'éléments de travail