Поделиться через


TRANSITION - XML-элемент

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

Для изменения рабочего процесса необходимо изменить определение типа рабочего элемента. См. раздел Изменение или добавление пользовательского типа рабочего элемента (WIT).

Схема иерархии

WITD

    WORKITEMTYPE

        РАБОЧИЙ ПРОЦЕСС

            TRANSITIONS

                TRANSITION

<TRANSITION from="NameOfStartingState" to="NameOfEndingState" for="UserGroupName" not="UserGroupName">
    <ACTIONS> . . . </ACTIONS>
    <REASONS> . . . </REASONS>
    <FIELDS> . . . </FIELDS>
</TRANSITION>

Атрибуты и элементы

В следующих разделах описаны атрибуты, дочерние и родительские элементы.

Атрибуты

Атрибут

Описание

from

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

to

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

for

атрибут Transition.

Необязательно. Имя пользователя или группы, которым разрешено выполнять переход.

not

атрибут Transition.

Необязательно. Имя пользователя или группы, которым запрещено выполнять переход.

Дочерние элементы

Элемент

Описание

ACTIONS

Необязательно. Определяет коллекцию элементов ACTION, каждый из которых определяет строку действия, которую можно использовать при вызове метода WorkItem.GetNextState для получения состояния рабочего элемента после действия.

REASONS

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

FIELDS (рабочий процесс)

Необязательно. Коллекция элементов FIELD (Workflow), которые ссылаются на определения полей, заданные для типа рабочего элемента.

Родительские элементы

Элемент

Описание

TRANSITIONS

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

Заметки

TRANSITION — обязательный дочерний элемент элемента TRANSITIONS.

Необходимо задать ровно один переход рабочего элемента из ничего (from= "") в именованное состояние, например Active (Активен). Этот переход определяет состояние по умолчанию для нового рабочего элемента.

minOccurs="1"

maxOccurs="unbounded"

Необходимо указать все допустимые переходы между двумя состояниями. Если переходы не указаны, то по умолчанию переходы не разрешены.

Кроме того, при желании вы можете использовать атрибуты for и not в элементе перехода рабочего процесса, чтобы уточнить, кто может и кто не может выполнять переход. При этом denies имеет приоритет над allows. Если не указан ни один из этих атрибутов, любой пользователь может изменить рабочий элемент.

Несколько групп поддерживаются только путем создания родительской группы и указания ее в элементе TRANSITION. Подробнее об атрибутах for и not читайте в статье Применение правила к полю рабочего элемента.

Пример

В примере ниже определяются причины перехода рабочего процесса из состояния Active (Активен) в состояние Resolved (Разрешен).

<TRANSITION from="Active" to="Resolved">
   . . .
   <REASONS>
      <DEFAULTREASON value="Fixed"/>
      <REASON value="Deferred"/>
      <REASON value="Duplicate"/>
      <REASON value="As Designed"/>
      <REASON value="Unable to Reproduce"/>
      <REASON value="Obsolete"/>
   </REASONS>
   . . .
</TRANSITION>

В приведенном ниже правиле возможность перехода рабочего элемента из состояния Resolved (Разрешен) в состояние Completed (Завершен) предоставляется всем тест-инженерам проекта, кроме новых тест-инженеров, недавно включенных в команду.

<TRANSITION from="Resolved" to="Complete" for="[project]\AllTesters" not="[project]\NewTesters">
</TRANSITION>

См. также

Основные понятия

Change the workflow for a work item type