Partager via


Définir les 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 une seule liste apparaît au moment de l'exécution en fonction de l'évaluation d'une règle conditionnelle.

Dans cette rubrique

  • Structure de la syntaxe

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

  • Autoriser une valeur existante

  • Spécifier un ensemble de valeurs autorisées

  • Définir des listes de choix dépendantes

Notes

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

Structure de la syntaxe

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 de l'élément 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. Vous 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>
    
  • Vous 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

Facultatif. Indique 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

Facultatif. Indique 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

Facultatif. 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

Facultatif. 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évelopper les éléments de liste et exclure les groupes de listes.

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.

  • Vous 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 requis 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> 
    

    globalListName : 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.

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

    <LISTITEM value="listName" />
    

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

Autoriser 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 />

Vous 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. Vous spécifiez cet élément sous l'élément STATE pour l'appliquer non seulement aux règles définies dans l'état du champ, mais également aux règles définies pour le champ pour toutes les transitions dans l'état.

Vous spécifiez cet élément sous l'élément TRANSITION pour l'appliquer non seulement aux règles définies dans la transition du champ, mais également aux règles définies pour le champ dans les éléments REASON et DEFAULTREASON.

Spécifier 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.

Notes

Les listes globales ne doivent pas inclure de groupes limités à un projet, car elles ne sont justement pas limitées à un 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" />

Notes

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.

Spécifier 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>

Définir des listes de choix dépendantes

Vous pouvez définir une liste de choix qui est active uniquement quand sa clause conditionnelle parente a la 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 selon que la valeur Requirements est assignée au champ MyCompany.MyTeam.Discipline.

Notes

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 les valeurs et les 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>

Voir aussi

Autres ressources

Suivi des éléments de travail : index des définitions d'éléments XML

Modifier ou ajouter un champ pour prendre en charge les requêtes, les rapports et le flux de travail