Определение списков выбора

Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 — TFS 2013

Важно!

Эта статья относится к настройке проекта для локальных моделей процессов XML. Общие сведения о моделях процессов см. в статье Настройка отслеживания работы.

Вы можете перечислить набор значений для поля, определив список выбора в рамках его определения или в конкретный момент времени выполнения рабочего процесса. Можно указать, что список может содержать только разрешенные значения, не может содержать запрещенные значения или может предлагать значения. Если предложить значения, пользователи могут указать значение из списка выбора.

Можно также определить зависимые списки выбора, в которых определяется два или более списков для поля, но во время выполнения отображается только один список — в зависимости от оценки условного правила.

Примечание

Чтобы добавить или изменить список выбора для FIELD определения, используйте средство FIELD командной строки для импорта и экспорта определения типа рабочего элемента. См. раздел Импорт, экспорт и управление типами рабочих элементов.

Структура синтаксиса

Можно использовать ALLOWEDVALUESSUGGESTEDVALUES элементы, и PROHIBITEDVALUES для указания списка значений, которые пользователь должен указать, может указывать или не должен указывать в качестве значения для поля. При использовании каждого из этих элементов можно перечислить список элементов или указать глобальный список. Можно использовать, ALLOWEXISTINGVALUE чтобы разрешить полю сохранять существующее значение при удалении элемента из списка выбора.

Эти элементы можно указать как дочерние элементы FIELD элемента (определения) или FIELD (рабочего процесса).

  • Используется ALLOWEDVALUES для определения списка значений, которые пользователи могут указать в форме рабочего элемента или в редакторе запросов. Пользователи должны указать одно из значений в GLOBALLIST или наборе LISTITEM записей.

    <ALLOWEDVALUES for="userGroupName" not="userGroupName" expanditems="true | false" filteritems="excludegroups">  
          <GLOBALLIST name="globalListName" />  
          <LISTITEM value="Name1" />  
          <LISTITEM value="Name2" />  
          <LISTITEM value="Name3" />  
    . . .   
    </ALLOWEDVALUES>  
    
  • Используется PROHIBITEDVALUES для определения списка значений, которые не могут содержаться в поле. Пользователи не могут сохранить рабочий элемент, если поле содержит запрещенное значение. Этот элемент используется, если необходимо ограничить использование ранее разрешенного значения, которое больше не доступно.

    <PROHIBITEDVALUES for="userGroupName" not="userGroupName" expanditems="true | false" filteritems="excludegroups">  
          <GLOBALLIST name="globalListName" />  
          <LISTITEM value="Name1" />  
          <LISTITEM value="Name2" />  
          <LISTITEM value="Name3" />  
    . . .   
    </PROHIBITEDVALUES>  
    
  • Используется SUGGESTEDVALUES для определения списка значений, которые может содержать поле. Пользователи могут указать другие значения в дополнение к предлагаемым.

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

    Для каждого из этих элементов можно указать один или несколько атрибутов, описанных в следующей таблице.

attribute Описание
for Необязательный параметр. Указывает имя пользователя или группы в Team Foundation, к которым применяется правило. Допустимые имена состоят из текстовой строки длиной от 1 до 255 символов.

Значение шаблона: ^[^\\]+\\[^\\]+$

Пример значения шаблона: доменUserID
not Необязательный параметр. Указывает имя пользователя или группы в Team Foundation, к которой правило не применяется. Допустимые имена состоят из текстовой строки длиной от 1 до 255 символов.

Значение шаблона: ^[^\\]+\\[^\\]+$

Пример значения шаблона: доменUserID
expanditems Необязательный параметр. Указывает, следует ли расширить группу, идентифицированную в элементе ListItem , чтобы включить в список подчиненные группы. По умолчанию используется значение true.
filteritems Необязательный параметр. Указывает, что список содержит только членов группы, а не имена группы. Единственным допустимым значением этого атрибута является excludegroups .

Дополнительные сведения см. в разделе Развертывание элементов списка и исключение групп из списков.

Примечание

Для модели размещенного XML-процесса на импорт глобального списка помещаются следующие ограничения.

  • Всего 64 глобальных списков
  • Всего 512 элементов на список
  • В всех глобальных списках, указанных во всех WIT, можно определить приблизительно 10 000 элементов.

Структура синтаксиса для элементов GLOBALLIST и LISTITEM

Элементы и можно использовать GLOBALLISTLISTITEM для перечисления списка элементов, которые могут быть обновлены глобально или относятся к одному полю.

  • Глобаллист используется для определения набора элементов ListItem , хранимых для коллекции проектов и всех проектов, которые могут использоваться в этой коллекции. Глобаллист — это обязательный дочерний элемент элемента глобаллистс и необязательный дочерний элемент элементов, и PROHIBITEDVALUES . Можно определить глобальный список в определении рабочего элемента, определении глобального списка или глобальном рабочем процессе.

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

    глобаллистнаме: строка текста, содержащая от 1 до 255 символов.

    Важно!

    Если вы определили глобальный список в XML-файле, который определяет тип рабочего элемента, необходимо задать для списка уникальное имя. В противном случае вы можете перезаписать существующий список, определенный для коллекции.

  • Элемент ListItem используется для перечисления набора значений. ListItem — это обязательный дочерний элемент глобаллист и необязательный дочерний элемент элементов, и PROHIBITEDVALUES .

    <LISTITEM value="listName" />  
    

    listName: строка текста, содержащая от 1 до 255 символов.

Разрешение существующего значения

Можно использовать ALLOWEXISTINGVALUE элемент, чтобы разрешить полю сохранять существующие значения после указания списка выбора элементов с помощью ALLOWEDVALUES элемента. Если элемент не указан ALLOWEXISTINGVALUE , пользователь во время редактирования будет вынужден указать одно из текущих допустимых значений для этого поля. ALLOWEXISTINGVALUEЭлемент изменяет только те элементы в одном блоке.

<ALLOWEXISTINGVALUE />  

Этот элемент указывается в элементе field (рабочий процесс), чтобы применить его к правилам, определенным для поля. Это приложение включает правила, которые задаются элементами State, TRANSITION, дефаултреасони Reason поля. Этот элемент указывается в элементе State , чтобы применить его не только к правилам, определенным в состоянии для поля, но и к правилам, определенным для поля для всех переходов в состояние.

Этот элемент указывается под элементом перехода , чтобы применить его не только к правилам, определенным в переходе для поля, но и к правилам, определенным для поля в элементах Reason и дефаултреасон .

Указание списка

Списки поля составляются из индивидуальных элементов списка. Каждый список поля должен содержать по крайней мере один элемент.

Примечание

Глобальные списки не должны включать группы, область действия которых ограничивается проектом, поскольку они не относятся к проекту.

Чтобы указать элементы в списке полей, используйте <LISTITEM value=""> элемент. Можно указать строку, имя пользователя или имя группы.

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

Примечание

во время выполнения элементы в списке отображаются в алфавитном порядке в зависимости от языка сервера, на котором работает Visual Studio Team Foundation Server.

Указание набора разрешенных значений

В этом примере поле "Важность для клиента" может содержать любое из трех значений: экстренная, значительная и незначительная. Поле определено как обязательное со значением по умолчанию "Незначительная". Во время выполнения пользователи могут указать одно из значений в раскрывающемся списке.

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

Определение зависимых списков выбора

Активный список выбора можно указать, только если родительское условное предложение имеет значение true. В следующем примере для меню "Мое поле" определены два набора списков выбора. Во время выполнения отображается только один список в зависимости от того, назначены ли им требования MyCompany.MyTeam.Discipline .

Примечание

Правила when и WHENNOT в этом примере также могут применяться к другим правилам, чтобы указать, когда должны оцениваться эти правила. Дополнительные сведения см. в разделе WHEN, WHENNOT, WHENCHANGED и WHENNOTCHANGED XML Elements.

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