Применение правил к состояниям рабочего процесса (процесс наследования)
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
После добавления или изменения состояний рабочего процесса для типа рабочего элемента определите правила, применяемые на основе изменения состояния рабочего процесса. Добавление правил в состояния рабочего процесса поддерживает следующие сценарии:
- Поддержка процесса утверждения
- Запретить несанкционированным пользователям устанавливать недопустимое состояние
- Сделайте поле обязательным, доступным только для чтения или присвойте ему другое значение в зависимости от изменений статуса.
- Ограничение перехода от одного состояния к другому
- Ограничивать или разрешать переходы состояния для определённых пользователей или групп.
- Поддержание управляемого рабочего процесса, удовлетворяющего требованиям аудита
- Автоматическое закрытие родительских рабочих элементов
- Поддержка процесса утверждения
- Запретить несанкционированным пользователям устанавливать недопустимое состояние
- Сделайте поле обязательным, доступным только для чтения или присвойте ему другое значение в зависимости от изменений статуса.
- Ограничение перехода от одного состояния к другому
- Автоматическое закрытие родительских рабочих элементов
Внимание
Модель процесса наследования доступна для проектов, настроенных для его поддержки. Если вы используете старую коллекцию, проверьте совместимость модели процесса. Если локальная коллекция настроена на использование локальной модели xml-процессов, можно использовать только эту модель процесса для настройки интерфейса отслеживания работы. Дополнительные сведения см. в разделе "Выбор модели процесса" для коллекции проектов.
Предварительные условия
Категория | Требования |
---|---|
разрешения | — Управление группами безопасности и разрешениями на уровне проекта, включающее правила настройки состояний рабочего процесса: администратор проекта. — Чтобы управлять областью отслеживания: администратор проекта или при наличии специально назначенного разрешения на отслеживание рабочих элементов. |
Уровни доступа | Базовый доступ, который обычно достаточно для большинства пользователей, которым необходимо управлять рабочими элементами и применять правила к состояниям рабочих процессов. |
Общие сведения о правилах рабочего процесса
В следующей таблице описаны три группы правил рабочего процесса, которые можно определить:
Стандартные действия:
- Применяется при создании рабочего элемента в выбранном состоянии или перемещении из одного состояния в другое.
- Действия включают задание значения поля, создание поля только для чтения или обязательное поле.
- Можно указать одно или два условия и несколько действий.
Ограничение переходов состояния (группа 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
, создано для назначения.