Skip to content

Правила (автоматизация сценариев)

Важно

В релизе 2.24 вышла первая версия модуля автоматизации и мы будем рады идеям и предложениям по его развитию.

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

Принцип работы

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

Примеры использования

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

Доступ к функционалу

Если для вашей роли разрешено использование данного функционала, вы увидете пункт меню «Правила» в административном разделе:

2025-12-25_15-37-05

Просмотр списка правил

Основной интерфейс раздела содержит таблицу с перечнем созданных правил.

Таблица состоит из следующих колонок:

  • ID — уникальный идентификатор правила в системе.
  • Статус — указывает, активно ли правило в данный момент. Активные правила отмечены зеленой точкой рядом. Неактивные отображаются серым цветом.
  • Название — пользовательское название правила для более удобного ориентирования в списке.
  • Событие — тип события (триггера), при наступлении которого проверяется правило.
  • Действие — действие, которое выполнит правило: «Запретить действие» или «Отправить уведомление».

Для каждого правила в правой части строки доступны иконки для его редактирования (карандаш) и удаления (корзина).

Над списком правил расположена кнопка «Добавить» для создания нового правила.

Создание и редактирование правила

Для создания нового правила нажмите кнопку «Добавить», расположенную в правом верхнем углу над списком. Для редактирования существующего — воспользуйтесь кнопкой (карандаш) в строке нужного правила.

Интерфейс создания и редактирования правила идентичен и состоит из следующих блоков:

2025-12-25_16-10-02

1. Общие настройки

  • Активно — переключатель для активации или деактивации правила. Неактивные правила не выполняются системой.
  • Название — произвольное название правила для удобства идентификации в списке.
  • Событие — тип события, при наступлении которого будет исполняться данное правило. В настоящие момент доступны следующие типы событий:
    • Создание элемента
    • Обновление элемента
    • Перемещение элемента в корзину
    • Удаление элемента из корзины
    • Просмотр пароля
    • Обновление права доступа к элементу
    • Авторизация пользователя

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

2. Условия

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

2025-12-25_16-21-27

Оператор группы определяет логику для всех условий и вложенных групп. По умолчанию он установлен в положение «И» (AND), что означает, что все добавленные условия должны быть выполнены. Вы можете изменить его на «ИЛИ» (OR): в этом случае для срабатывания правила будет достаточно выполнения хотя бы одного из условий или групп условий.

Кнопками «Условие» и «Группа» вы добавляете новые элементы в конструктор.

  • Условие — это одиночный элемент для проверки исполнения. В нем вы выбираете конкретный параметр (например, «Email пользователя»), оператор для его проверки (например, «содержит») и значение для сравнения (например, «@yandex.ru»). Условие считается выполненным, если выбранный параметр соответствует заданным критериям.
  • Группа — это контейнер для объединения нескольких условий под одним логическим оператором («И» или «ИЛИ»). Группы можно вкладывать друг в друга для построения сложной логики.

Операторы

Ниже приведено описание логики работы каждого из доступных операторов сравнения:

Доступные операторы
  • равно — проверяет точное совпадение параметра с указанным значением. Доступно для типов: string, integer, datetime, enum.

  • не равно — проверяет, что параметр не совпадает с указанным значением. Доступно для типов: string, integer, datetime, enum.

  • содержит — проверяет, что параметр (строка) включает в себя указанную подстроку. Доступно для типа string.

  • не содержит — проверяет, что параметр (строка) не включает в себя указанную подстроку. Доступно для типа string.

  • начинается с — проверяет, что параметр (строка) начинается с указанной подстроки. Доступно для типа string.

  • заканчивается на — проверяет, что параметр (строка) заканчивается указанной подстрокой. Доступно для типа string.

  • совпадает с шаблоном — проверяет, что параметр (строка) соответствует указанному регулярному выражению. Доступно для типа string.

  • не совпадает с шаблоном — проверяет, что параметр (строка) не соответствует указанному регулярному выражению. Доступно для типа string.

  • больше, меньше, больше или равно, меньше или равно — производят сравнение числового значения или даты. Доступно для типов integer и datetime.

  • содержится в — проверяет, что значение параметра присутствует в указанном списке значений. Каждое значение списка вводится в отдельное поле. Доступно для типов: string, integer, datetime, enum.

  • не содержится в — проверяет, что значение параметра отсутствует в указанном списке значений. Доступно для типов: string, integer, datetime, enum.

  • содержит (для типа array) — проверяет, что указанное единичное значение присутствует в массиве (списке) параметра.

  • не содержит (для типа array) — проверяет, что указанное единичное значение отсутствует в массиве (списке) параметра.

Пример использования оператора

2025-12-25_16-44-49

Если для параметра «Элемент → Название» выбрать оператор «содержит» и указать значение «Финанс», условие будет выполнено для элементов с названиями «Отчет по Финансам», «Финансовый отдел» и т.д.

При этом, к элементу «финансовые показатели» правило применено не будет из-за разницы в регистре. Регистронезависимость можно создать самостоятельно через регулярные выражения.

Пример построения логики

2025-12-25_16-44-49

Общий оператор: И

  • Условие 1: Пользователь → Код роли не равно «admin»
  • Группа 1 (Оператор: ИЛИ):
    • Условие 2: Элемент → Название содержит 'Секретно'
    • Условие 3: Элемент → Глубина равна 0

Правило сработает, если у пользователя НЕ административная роль И название элемента содержит ‘Секретно’ ИЛИ элемент с любым названием находится в корневой папке.

Регулярные выражения

При выборе операторов «совпадает с шаблоном» или «не совпадает с шаблоном» для строковых параметров вы можете использовать регулярные выражения для более гибких условий фильтрации.

Основные правила использования:

  • Обработка происходит в соответствии с синтаксисом PCRE.
  • Проверка выполняется с учетом регистра символов.
  • Специальные символы (например, ., *, ?, [ ]) должны быть экранированы обратной косой чертой (\), если должны трактоваться буквально.
  • Квантификаторам (например, *, +) по умолчанию соответствует максимально длинная подходящая строка.
Пример использования в правиле

2025-12-25_17-57-12

  • Событие: Создание элемента
  • Условие: Элемент → Название совпадает с шаблоном « ~(пароль|password|pwd)~iu »
  • Действие: Запретить с текстом уведомления «Политика безопасности нашей компании запрещает использование слова «пароль» в названиях элементов.».

Результат: Пользователю будет запрещено создавать папки или записи, в названии которых есть слова «пароль», «password» или «pwd» в любом регистре. 2025-12-25_17-28-55

3. Действие

На данный момент возможны два типа действий при срабатывании правила:

1. Отправить почтовое уведомление

2025-12-25_18-11-16

  • Получатели — введите email-адреса. После ввода каждого адреса нажмите Enter, чтобы добавить его в список.
  • Тема письма — укажите тему email-сообщения.
  • Текст письма — составьте текст email-сообщения.

2. Запретить действие

2025-12-25_18-15-28

  • Текст уведомления — укажите текст сообщения, которое увидит пользователь в интерфейсе BearPass при попытке выполнить запрещенное действие.

Переменные для уведомлений

Во всех уведомлениях вы можете использовать специальные коды переменных (например, %user.name%, %item.name%), которые будут автоматически заменены на актуальные данные в момент срабатывания правила.

Список доступных переменных динамически отображается в блоке «Переменные». Для удобства копирования наведите курсор на нужную переменную. Обратите внимание, что у разных типов событий возможен разный набор типов переменных.

Пример использования переменных

Шаблон уведомления в правиле: 2025-12-25_18-37-26

Результат: 2025-12-25_18-38-49

Примеры решения задач бизнеса с помощью модуля «Правила»

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

1. Запретить выдавать доступ на корневые папки проектов

У нас есть проекты наших клиентов. Каждый проект - папка в BearPass в корне дерева. Проектному менеджеру выдан доступ на управление папкой проекта. Но мы сталкиваемся с ситуациями, когда некоторые менеджеры шарят всю папку клиента всем подряд. Можно ли сделать так, чтобы менеджеры не могли шарить основные папки клиентов, а только элементы внутри?

Решение
  • Событие: Обновление права доступа к элементу

  • Условия:

    • Глубина → равно → 0 (корень)
    • Название группы пользователей → содержит → PM
  • Действие: Запретить действие с уведомлением «Для предоставления доступа к корневым папкам обратитесь к Сергею Никифорову.»

2. Уведомление об авторизации пользователя

Есть сервисный аккаунт, которым пользуется сразу несколько сотрудников. Мы хотели бы получать уведомления при каждой авторизации этого аккаунта в BearPass

Решение
  • Событие: Авторизация пользователя
  • Условие: ID пользователя → равно → NNN
  • Действие: Отправить уведомление

3. Убедиться, что никто не просматривал/менял пароль и не получал к нему доступов

Как узнавать, когда кто-то получает доступ к паролю от сервиса ХХХ ?

Решение

Первое правило:

  1. Событие: Просмотр пароля
  2. Условие: ID элемента → равно → NNN
  3. Действие: Отправить уведомление

Второе правило:

  1. Событие: Обновление прав доступа к элементу
  2. Условие: ID элемента → равно → NNN
  3. Действие: Отправить уведомление

4. Соответствие названий паролей определенным правилам

Для работы наших интеграций нам требуется, чтобы названия записей соответствовали определенной логике. При этом, записи регулярно вбиваются и обновляются десятком инженером вручную в разных условиях. Регулярно случаются опечатки из-за которых интеграции начинают сбоить. Можно ли задать проверку соответствия названий паролей определенному шаблону?

Решение

Первое правило:

  1. Событие: Создание элемента
  2. Условие: Название → не совпадает с шаблоном → [описать регулярным выражением допустимый шаблон]
  3. Действие: Запретить действие

Второе правило:

  1. Событие: Обновление элемента
  2. Условие: Название → не совпадает с шаблоном → [описать регулярным выражением допустимый шаблон]
  3. Действие: Запретить действие