Автоматизации - механизм реагирования платформы на изменения спецификации сущностей.

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

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

Если выполнение настроено для связанных сущностей, оно не будет запущено для сущности, вызвавшей событие. При настройке запуска для связанных сущностей поддерживается только выполнение действий или процессов.

Интерфейс настройки автоматизации

Форма создания и редактирования автоматизации разделена на логические секции:

Триггеры

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

При настройке каждого триггера указываются:

  • Ресурс — ресурс, события с сущностями которого будут являться триггером для запуска автоматизации
  • Условие — условие в формате Go template, описывающее, изменения какого параметра будет считаться триггером для запуска автоматизации и какое именно значение должен принять измененный параметр.

Примеры условий триггера:

  • {{ ne .entity.properties.id 0 }} — автоматизация будет запускаться, если значение параметра id изменилось и после изменения стало не равным нулю
  • {{ eq .entity.properties.status "Failed" }} — автоматизация будет запускаться, если значение параметра status изменилось на Failed с любого другого

Выполнение

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

Настраиваются:

  • Тип выполнения — тип объекта, который будет выполняться: действие, процесс или синхронизация источника данных
  • Объект выполнения — конкретный объект (действие, процесс или источник данных), который будет выполняться

Для действий и процессов доступна дополнительная настройка:

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

Синхронизация

Секция для настройки периодической синхронизации — автоматического запуска автоматизации по расписанию.

Настраиваются:

  • Периодическая синхронизация — включение/выключение периодической синхронизации
  • Периодичность запуска — cron-выражение для настройки частоты запуска автоматизации (например, 0 0 * * * для ежедневного запуска в полночь)

Триггеры

Механизм работы триггеров автоматизаций основан на событиях (event’s), которые генерируются при каждом создании, изменении, либо удалении любой сущности любого ресурса.

Автоматизации:

  1. Прослушивают события указанных в конфигурации триггеров ресурсов
  2. Проверяют, изменилось ли значение параметра, указанного в условиях триггера
  3. При изменении сравнивают текущее значение параметра с условием
  4. При соответствии условию запускают выполнение

Важно: Новые автоматизации обрабатывают только события, которые произошли после их создания. События, произошедшие до создания автоматизации, не будут обработаны.