Руководство пользователя RR Tech Service Management

Правила автоматизации: пример 8

Назначение задачи правильной команде посредством оператора if-then-else

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

Ниже описаны основные элементы такого правила автоматизации.

Триггер

Правило должно выполняться при создании рабочего процесса и задач. Соответственно, в поле "Триггер" выбирается вариант ‘При создании’.

Выражения

Для правила задаются следующие выражения. В дальнейшем они используются для определения условия правила и выполняемых им действий:

1. request

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

  • workflow.requests[first]

2. requester

Выражение requester используется для получения информации о пользователе, указанном в поле ‘Запрошено для’. Это выражение определяется следующим образом:

  • request.requested_for

3. organization

Выражение organization используется для получения информации об организации, к которой относится пользователь, указанный в поле ‘Запрошено для’. Это выражение определяется следующим образом:

  • requester.organization

4. old_team_name

Выражение old_team_name используется для получения информации о том, какой именно команде была назначена задача. Это выражение определяется следующим образом:

  • team.name

5. is_from_manuf

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

  • organization contains 'Производственная организация'

6. new_team_name

Выражение new_team_name используется для переназначения задачи новой команде в случае принадлежности инициатора к "Производственной организации". Для этого используется тернарный (условный) оператор C <strong>then</strong> A <strong>else</strong> B, который принимает три аргумента A, B и C. Первый аргумент A - это аргумент сравнения, второй аргумент B - результат, если сравнение истинно, а третий аргумент C - результат, если сравнение ложно. Это выражение определяется следующим образом:

  • is_from_manuf then 'Поддержка конечного пользователя, Москва' else old_team_name

7. is_from_rd_center

Выражение is_from_rd_center используется для проверки, принадлежит ли инициатор к "Центру исследований и разработок". Это выражение определяется следующим образом:

  • organization contains 'Центр исследований и разработок'

8. new_team_name

Выражение new_team_name используется для переназначения задачи новой команде в случае принадлежности инициатора к "Центру исследований и разработок". Это выражение определяется следующим образом:

  • is_from_rd_center then 'Поддержка конечного пользователя, Воронеж' else new_team_name

9. move_task

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

  • workflow.tasks['Переместить настольный ПК на новое место']

9. update_cmdb

Выражение update_cmdb используется для определения задачи по изменению местоположения настольного ПК в записи КЕ. Поскольку темой этой задачи является ‘Указать новое местоположение в записи КЕ для ПК’, выражение определяется следующим образом:

  • workflow.tasks['Указать новое местоположение в записи КЕ для ПК']

Условие

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

  • is_from_manuf or is_from_rd_center

Обновление 1 Выбор команды для назначения задачи ‘Подтвердить доступность подключения к локальной сети’.

Правило обновляет задачу ‘Подтвердить доступность подключения к локальной сети’. Поскольку это задача, для которой определено правило автоматизации, поле "Обновить" не нужно заполнять. В этом случае значение по умолчанию присваивается текущей записи.

Задать

Цель правила - выбор новой команды для назначения текущей задачи, соответственно, в поле "Задать" указывается следующее:

  • team = new_team_name

Обновление 2 Выбор команды для назначения задачи ‘Переместить настольный ПК на новое место’

Заданное ранее выражение move_task идентифицирует эту задачу, соответственно, это выражение выбирается в поле "Обновить".

Задать

Цель правила - выбор новой команды для назначения текущей задачи, соответственно, в поле "Задать" указывается следующее:

  • team = new_team_name

Обновление 3 Выбор команды для назначения задачи ‘Указать новое местоположение в записи КЕ для ПК’

Заданное ранее выражение update_cmdb идентифицирует эту задачу, соответственно, это выражение выбирается в поле "Обновить".

Обновление 4 Отсутствие назначенного участника в задаче ‘Подтвердить доступность подключения к локальной сети’

Правило обновляет задачу ‘Подтвердить доступность подключения к локальной сети’. Поскольку это задача, для которой определено правило автоматизации, поле "Обновить" не нужно заполнять. В этом случае значение по умолчанию присваивается текущей записи.

Задать

Правило автоматизации не будет выполнено, если в задаче в поле "Участник" указан специалист не из новой команды. Соответственно, в поле "Задать" указывается следующее:

  • member = empty

Обновление 5 Отсутствие назначенного участника в задаче ‘Переместить настольный ПК на новое место’

Заданное ранее выражение move_task идентифицирует эту задачу, соответственно, это выражение выбирается в поле "Обновить".

Задать

Правило автоматизации не будет выполнено, если в задаче в поле "Участник" указан специалист не из новой команды. Соответственно, в поле "Задать" указывается следующее:

  • member = empty

Обновление 6 Отсутствие назначенного участника в задаче ‘Указать новое местоположение в записи КЕ для ПК’

Заданное ранее выражение update_cmdb идентифицирует эту задачу, соответственно, это выражение выбирается в поле "Обновить".

Задать

Правило автоматизации не будет выполнено, если в задаче в поле "Участник" указан специалист не из новой команды. Соответственно, в поле "Задать" указывается следующее:

  • member = empty