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


Применение правил к состояниям рабочего процесса (процесс наследования)

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

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

  • Поддержка процесса утверждения
  • Запретить несанкционированным пользователям устанавливать недопустимое состояние
  • Сделайте поле обязательным, доступным только для чтения или присвойте ему другое значение в зависимости от изменений статуса.
  • Ограничение перехода от одного состояния к другому
  • Ограничивать или разрешать переходы состояния для определённых пользователей или групп.
  • Поддержание управляемого рабочего процесса, удовлетворяющего требованиям аудита
  • Автоматическое закрытие родительских рабочих элементов
  • Поддержка процесса утверждения
  • Запретить несанкционированным пользователям устанавливать недопустимое состояние
  • Сделайте поле обязательным, доступным только для чтения или присвойте ему другое значение в зависимости от изменений статуса.
  • Ограничение перехода от одного состояния к другому
  • Автоматическое закрытие родительских рабочих элементов

Внимание

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

Предварительные условия

Категория Требования
разрешения — Управление группами безопасности и разрешениями на уровне проекта, включающее правила настройки состояний рабочего процесса: администратор проекта.
— Чтобы управлять областью отслеживания: администратор проекта или при наличии специально назначенного разрешения на отслеживание рабочих элементов.
Уровни доступа Базовый доступ, который обычно достаточно для большинства пользователей, которым необходимо управлять рабочими элементами и применять правила к состояниям рабочих процессов.

Общие сведения о правилах рабочего процесса

В следующей таблице описаны три группы правил рабочего процесса, которые можно определить:

  1. Стандартные действия:

    • Применяется при создании рабочего элемента в выбранном состоянии или перемещении из одного состояния в другое.
    • Действия включают задание значения поля, создание поля только для чтения или обязательное поле.
    • Можно указать одно или два условия и несколько действий.
  2. Ограничение переходов состояния (группа 1):

    • Укажите одно условие, указывающее состояние, из которого перемещался рабочий элемент.
    • Определите действия, ограничивающие переходы из этого состояния в другие состояния.
  3. Ограничение переходов состояния (группа 2):

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

В следующей таблице описаны две группы правил рабочего процесса, которые можно определить:

  1. Стандартные действия:

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

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

Примечание.

Для некоторых функций требуется установка обновления Azure DevOps Server 2020.1. Дополнительные сведения см. в заметках о выпуске Azure DevOps Server 2020 Update 1 RC1, Boards.


Условие

Поддерживаемые действия


Установка значения поля или перевод в режим только для чтения/обязательный в зависимости от состояния

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

Действия, рабочий элемент создан


Ограничьте переход на основе состояния

Условие, при котором рабочий элемент перемещён

Действия, ограничение транзакции на основе состояния.


Скрытие поля или создание поля только для чтения или обязательного на основе состояния и членства пользователей или групп

Условие, членство в группах пользователей

Действия по ограничению транзакции на основании состояния и членства.


На основе членства пользователей или групп задайте атрибут поля или ограничьте переход состояния

Условие, членство в группах пользователей

Действия по ограничению транзакции на основании состояния и членства.


Примечание.

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

Общие сведения о состоянии рабочего процесса и ограничениях правил

Правила рабочего процесса применяются при добавлении или изменении рабочих элементов с помощью любого из следующих интерфейсов:

  • Веб-портал: форма рабочего элемента, массовые обновления, обновления в режиме запроса
  • Веб-портал: доска или панель задач, перемещение рабочего элемента в столбец
  • Форма рабочего элемента Visual Studio 2017 и более ранних версий
  • Формат CSV-файла: массовый импорт или обновление
  • Excel: массовый импорт или обновление
  • REST API: добавление или изменение рабочих элементов

В следующей таблице описаны состояние рабочего процесса и ограничения правил для процесса наследования.

Объект Ограничение на наследование
Типы рабочих элементов, определенные для процесса 64
Состояния рабочего процесса, определенные для типа рабочего элемента 32
Правила, определенные для типа рабочего элемента 1024

При определении состояний и правил рабочего процесса следуйте этим рекомендациям, чтобы свести к минимуму проблемы с производительностью:

  • Ограничить количество правил для WIT: хотя можно создать несколько правил для типа рабочего элемента (WIT), дополнительные правила могут отрицательно повлиять на производительность при добавлении или изменении рабочих элементов. Система проверяет все правила, связанные с полями для типа рабочего элемента, когда пользователи сохраняют рабочие элементы. В некоторых случаях выражение проверки правила может стать слишком сложным для оценки SQL.
  • Ограничить количество типов настраиваемых рабочих элементов: сокращение числа типов настраиваемых рабочих элементов может помочь обеспечить оптимальную производительность.

Определение правила

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

Дополнительные сведения об определении правил см. в разделе "Добавление настраиваемого правила".

Установка значения поля или создание поля только для чтения или обязательного

С помощью первой группировки правил можно указать одно или два условия и до 10 действий для каждого правила.

Пример обеспечения утверждения руководителя команды перед активной работой

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

Состояния рабочего процесса по умолчанию

Гибкий процесс, история пользователя, состояние рабочего процесса по умолчанию

Требования к правилу

Чтобы убедиться в утверждении перед активной работой, определите следующие правила:

  • Требовать заполнения поля "Утвержденный", когда состояние изменяется из "Новое" в "Активное".
  • Ограничить пользователей, не входящих в группу руководителей групп, от заполнения поля "Утверждено"
  • Очистите поле "Утвержденный", когда состояние переходит в "Новое" или "Удалено"

Определения правил

Требования к правилам преобразуются в следующие четыре определения правил.


Имя правила

Условие

Действия


Утверждено, обновляется при новых данных

Когда A work item state changes to New

Тогда Clear the value of Approved By

Утверждается после удаления

Когда A work item state changes to Removed

Тогда Clear the value of Approved By

Одобрено в режиме чтения

Когда Current user is not member of group Team Leads Group

Тогда Make read-only Approved By

Требуется одобрение

Когда A work item state changes from New to Active

Тогда Make required Approved By


Ограничение переходов состояния

При указании условия A work item state moved from ...можно указать только это условие. Можно указать до 10 действий.

Примечание.

Для этой функции требуется обновление или более поздняя версия Azure DevOps Server 2020.1.

Пример ограничения переходов между состояниями и утвержденного состояния

Для пользовательской истории определены следующие состояния рабочего процесса. Состояния Новые, Разрешенные и Удаленные унаследованные скрыты. Вместо этого используются состояния предложено, на рассмотрении и исключено. Кроме того, определены еще три государства: исследование, проектирование и утверждение. Эти штаты должны следовать в последовательности, показанной на следующем рисунке.

История пользователя, состояния рабочего процесса

Без каких-либо ограничений пользователи могут переходить из одного штата в другой, как в прямом порядке, так и в обратном, в рамках последовательности.

Требования к правилу

Чтобы поддерживать более контролируемый рабочий процесс, бизнес-группа решила установить правила, поддерживающие следующие прямые и обратные переходы состояния для типа рабочего элемента 'User Story'.

Штат Правило перехода
Предложено Может переходить только к исследованиям и сокращению
Исследование Можно переходить только к Дизайн и Резка
Проект Может переходить только к исследованиям, утверждениям и сокращению
Утверждено Может переходить только к Дизайн, Активный и Вырезать
Активно Может переходить только в На рассмотрении
На рассмотрении Может переходить только на Активный (найдено больше работы), Закрытый или Сокращенный
Закрытые Может перейти к исследованию, проектированию, активной стадии, на рассмотрении (позволяет в случаях, когда пользователь по ошибке закрыл рабочий элемент)
Вырезать может переходить только в состояние Предложено

Примечание.

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

Кроме того, бизнес-группа хочет применить следующие правила для обязательных полей:

  • Требовать заполнения поля "Утверждено", когда состояние меняется с "Утверждено" на "Активно".
  • Разрешить только пользователям в группе уполномоченных утверждающих заполнять поле Утверждено.
  • Очистите поле Утвержденным, когда состояние переходит в Вырезка.
  • Требуется, чтобы поле "Критерии принятия" заполнялось при переходе состояния на "Активный".

Определения правил

Чтобы реализовать ранее упомянутые ограничения, администратор процесса добавляет настраиваемое поле "Утвержден", группу безопасности "Авторизованные утверждающие" и следующие правила.


Имя правила

Условие

Действия


Предлагаемое состояние

Когда A work item state moved from Proposed

Тогда Restrict the state transition to Design
И Restrict the state transition to Approved
И Restrict the state transition to Active
И Restrict the state transition to In Review
И Restrict the state transition to Closed

Состояние исследования

Когда A work item state moved from Research

Тогда Restrict the state transition to Proposed
И Restrict the state transition to Approved
И Restrict the state transition to Active
И Restrict the state transition to In Review
И Restrict the state transition to Closed

Состояние дизайна

Когда A work item state moved from Design

Тогда Restrict the state transition to Proposed
И Restrict the state transition to Research
И Restrict the state transition to Active
И Restrict the state transition to In Review
И Restrict the state transition to Closed

Утвержденное состояние

Когда A work item state moved from Approved

Тогда Restrict the state transition to Proposed
И Restrict the state transition to Research
И Restrict the state transition to Design
И Restrict the state transition to In Review
И Restrict the state transition to Closed

Активное состояние

Когда A work item state moved from Active

Тогда Restrict the state transition to Proposed
И Restrict the state transition to Research
И Restrict the state transition to Design
И Restrict the state transition to Approved
И Restrict the state transition to Closed

В состоянии проверки

Когда A work item state moved from In Review

Тогда Restrict the state transition to Proposed
И Restrict the state transition to Research
И Restrict the state transition to Design
И Restrict the state transition to Approved

Закрытое состояние

Когда A work item state moved from Closed

Тогда Restrict the state transition to Proposed
И Restrict the state transition to Cut

Состояние вырезки

Когда A work item state moved from Cut

Тогда Restrict the state transition to Research
И Restrict the state transition to Design
И Restrict the state transition to Approved
И Restrict the state transition to Active
И Restrict the state transition to In Review
И Restrict the state transition to Closed

Утвержденные обязательные поля состояния

Когда A work item changes from Approved to Active

Тогда Make required Acceptance Criteria
И Make required Approved By

Авторизованные одобряющие

Когда Current user is not a member of Authorized Approvers

Тогда Make read-only Approved By

Очистить поле "Утверждено"

Когда A work item state changes to Cut

Тогда Clear the value of Approved By


Проверка ограничений перехода состояния

После определения правил процесса и обновления проекта обновите браузер. Проверьте операции с помощью формы рабочего элемента и браузера.

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

Предложенный Исследование Проектирование Одобренный
Предлагаемое меню Меню исследований Меню дизайна Утвержденное меню
Активный В обзоре Закрытые Вырезать
Активное меню В меню Закрытое меню Пункт меню «Вырезать»

Ограничение перехода состояния на основе членства пользователей или групп

При указании одного из двух условий на основе членства Current user is member of group ...Current user is not member of group ...пользователей или групп можно указать только одно условие. Кроме того, если указать действие Restrict the transition to state..., можно указать только одно действие.

Примечание.

К рабочим элементам применяются правила. Условные правила на основе членства пользователей или групп кэшируются в веб-браузере. Если вы нашли себя ограниченным для обновления рабочего элемента, возможно, вы столкнулись с одним из этих правил. Если вы считаете, что столкнулись с проблемой, которая к вам не относится, см. статью "Проблемы с кэшированием в форме рабочего элемента IndexDB".

Автоматизация переходов состояния родительских рабочих элементов

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

Автоматизация переназначения на основе изменения состояния

Ранее в гибком процессе тип рабочего элемента «ошибка» имел правило, переназначавшее ошибку её создателю. Мы удалили это правило из системного процесса по умолчанию. Можно восстановить правило или добавить аналогичное правило другим типам рабочих элементов с помощью следующего условия и действия:

КогдаA work item state changes to решеноCopy the value from , создано для назначения.