Изменение рабочего процесса типа рабочего элемента
Можно изменить рабочий процесс типа рабочего элемента: для этого следует экспортировать XML-файл и изменить его содержимое. После изменения рабочего процесса можно импортировать XML-файл, чтобы начать использование обновленного типа рабочего элемента.
Требуемые разрешения
Для выполнения этой процедуры необходимо быть членом группы Администраторы Team Foundation или участником группы Администраторы проекта для проекта. Дополнительные сведения см. в разделе Разрешения Team Foundation Server.
Изменение рабочего процесса
В случае изменения типа рабочего элемента для одного проекта запустите утилиту witadmin exportwitd для экспорта типа рабочего элемента, который требуется изменить, в XML-файл. Дополнительные сведения см. в разделе Настройка типов рабочих элементов и управление ими [witadmin].
В Visual Studio в меню Файл выберите команду Открыть, а затем выберите пункт Файл.
Откроется диалоговое окно Открытие файла.
В списке Искать в перейдите к папке, в которую был экспортирован файл.
Если изменение типа рабочего элемента производится для настройки шаблона процесса, перейдите в ту папку, куда загружен шаблон процесса.
Примечание
Если компьютер работает под управлением Windows Vista, могут отсутствовать права доступа к определенным папкам.При попытке экспорта типа рабочего элемента в папку, для доступа к которой у вас отсутствуют права, технология виртуализации реестра автоматически перенаправит экспортируемый файл и сохранит его в виртуальном хранилище.Во избежание перенаправления файл можно экспортировать в расположение, для которого имеются права доступа.Дополнительные сведения о виртуализации реестра см. на следующих страницах на веб-сайте корпорации Майкрософт: Виртуализация реестра и Типовые проблемы виртуализации файлов и реестра в Windows Vista.
Выберите XML-файл типа рабочего элемента, который нужно обновить, и нажмите кнопку Открыть. При выводе запроса о завершениях строк нажмите кнопку Нет.
Найдите определение рабочего процесса типа рабочего элемента в разделе <WORKFLOW> XML-файла, как показано в следующем коде XML:
<WORKFLOW> <STATES> <STATE value="Active"> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ClosedDate"> <EMPTY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ClosedBy"> ...
Добавьте к определению типа состояние "Unapproved", вставив еще один элемент <STATE>. Новое состояние отображается выделенным в следующем примере.
<WORKFLOW> <STATES> <STATE value="Unapproved"> </STATE> <STATE value="Active"> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ClosedDate"> <EMPTY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ClosedBy"> ...
Создайте переход между состоянием "null" и состоянием "Unapproved". Для этого сначала найдите раздел определения рабочего процесса, относящийся к переходам. Затем вставьте приведенный ниже XML-код, выделенный в следующем примере.
Примечание
В результате этого изменения для начального состояния всех новых рабочих элементов такого вида устанавливается значение "Unapproved" со значением "New" для причины по умолчанию.
<TRANSITIONS> <TRANSITION from="" to="Unapproved"> <REASONS> <DEFAULTREASON value="New" /> </REASONS> </TRANSITION> <TRANSITION from="" to="Active"> <REASONS> <DEFAULTREASON value="New" /> </REASONS> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ActivatedBy"> <COPY from="currentuser" /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ActivatedDate"> <COPY from="clock" /> </FIELD> <FIELD refname="System.AssignedTo"> <COPY from="currentuser" /> </FIELD> </FIELDS> </TRANSITION>
Удалите переход к состоянию «Active», который выделен в следующем коде XML.
Это необходимо сделать, потому что может происходить только один открывающий переход.
<TRANSITIONS> <TRANSITION from="" to="Unapproved"> <REASONS> <DEFAULTREASON value="New" /> </REASONS> </TRANSITION> <TRANSITION from="" to="Active"> <REASONS> <DEFAULTREASON value="New" /> </REASONS> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ActivatedBy"> <COPY from="currentuser" /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ActivatedDate"> <COPY from="clock" /> </FIELD> <FIELD refname="System.AssignedTo"> <COPY from="currentuser" /> </FIELD> </FIELDS> </TRANSITION>
Добавьте для открывающего перехода причину "Ported", вставив нижеприведенный XML-код, выделенный в следующем примере. Это позволит пользователям определять, создан ли рабочий элемент заново или был перенесен из другой системы отслеживания.
<TRANSITIONS> <TRANSITION from="" to="Unapproved"> <REASONS> <DEFAULTREASON value="New" /> <REASON value="Ported" /> </REASONS> </TRANSITION> ...
Вставьте приведенное ниже правило COPY, выделенное в следующем примере. Данное правило устанавливает в поле Состояние назначения значение по умолчанию для пользователя, создавшего рабочий элемент. Это правило оценивается только во время открывающего перехода.
<TRANSITIONS> <TRANSITION from="" to="Unapproved"> <REASONS> <DEFAULTREASON value="New" /> <REASON value="Ported" /> </REASONS> <FIELDS> <FIELD refname="System.AssignedTo"> <COPY from="currentuser" /> </FIELD> </FIELDS> </TRANSITION> ...
Примечание
При вставке этого правила в другие элементы <TRANSITION> или <STATE> правило будет действовать для других переходов или состояний.Дополнительные сведения см. в разделе Проверка правил.
Создайте переход из состояния «Unapproved» к состоянию «Active», добавив следующий код XML, выделенный в следующем примере. Благодаря этому изменению после утверждения рабочего элемента для него можно выполнить этот переход.
<TRANSITIONS> <TRANSITION from="" to="Unapproved"> <REASONS> <DEFAULTREASON value="New" /> <REASON value="Ported" /> </REASONS> <FIELDS> <FIELD refname="System.AssignedTo"> <COPY from="currentuser" /> </FIELD> </FIELDS> </TRANSITION> <TRANSITION from="Unapproved" to="Active"> <REASONS> <DEFAULTREASON value="Approved" /> </REASONS> </TRANSITION> <TRANSITION from="Active" to="Closed"> <REASONS> <DEFAULTREASON value="Completed" /> <REASON value="Deferred" /> <REASON value="Obsolete" /> <REASON value="Cut" /> </REASONS> ...
Чтобы сохранить изменения в XML-файле, нажмите кнопку Сохранить на панели инструментов.
Сведения об импорте нового типа рабочего элемента в отдельный проект см. в разделе Настройка типов рабочих элементов и управление ими [witadmin]. Чтобы добавить тип рабочего процесса в шаблон процесса, см. раздел Добавление определений типов рабочих элементов в шаблон процесса.
Проверка изменений, импортированных в отдельный проект
В окне Сред. Командный обозреватель нажмите кнопку Обновить, чтобы загрузить с сервера последние обновления.
Эти обновления содержат только что импортированные вами изменения. Подождите несколько секунд, пока не загрузится узел «Рабочие элементы». Узлы, находящиеся в процессе загрузки, помечаются словом работает.
Создайте новый рабочий элемент, используя модифицированный тип рабочего элемента. Для этого щелкните правой кнопкой мыши узел Рабочие элементы, выберите команду Добавить рабочий элемент, а затем выберите тип рабочего элемента.
Этот рабочий элемент создается на основе измененного и импортированного вами типа рабочего элемента.
Обратите внимание, что для поля Состояние сейчас установлено значение Unapproved, а для поля Причина — значение New. Кроме того, для значения Состояние назначения устанавливается имя вашей учетной записи. Щелкните поле Причина, чтобы открыть список, содержащий два значения — New и Ported.
Введите название в поле Название, а затем нажмите кнопку Сохранить, чтобы сохранить рабочий элемент. Дождитесь завершения операции сохранения, на что указывает появление сообщения Элементы сохранены в строке состояния.
В поле Состояние выберите значение Active, чтобы утвердить рабочий элемент и снова выполнить переход. Обратите внимание, что в поле Причина устанавливается значение Approved.
Для сохранения данного перехода нажмите кнопку Сохранить в панели инструментов.
Нажмите кнопку Закрыть, чтобы закрыть рабочий элемент.
См. также
Основные понятия
Ограничение переходов между состояниями
Когда и где применять правило поля
Другие ресурсы
Автоматизация назначений полей на основе состояния, перехода или причины