Уведомление
Общее описание
Элемент используется для отправки уведомлений пользователям. На данный момент поддерживается только уведомление по электронной почте.
Уведомления отправляются через микросервис ecos-notifications, см. подробнее — уведомления и шаблоны уведомлений.
Атрибуты и форма
Указать Имя,
Тип уведомления указан по умолчанию Электронная почта.
|
|
Можно выбрать шаблон уведомления или напрямую указать Заголовок и Тело сообщения.
При прямом использовании Заголовка и Тела возможно указывать только текст, без использования динамических переменных из процесса или документа.
|
|
Отправка писем-встреч в календарь пользователя
Название и Описание могут быть указаны напрямую или через expression
${someVariable}Настройки события могут быть выбраны как значениями, так и указаны в виде выражений.
- Значение
Организатор выбирается из ролей, заполненных в типе данных. Конечным результатом обработки поля будет являться email. Если в роли содержится несколько пользователей, то будет выбран первый вычисленный email.
Дата начала события. При создании события будет указан часовой пояс организатора из профиля пользователя.
Продолжительность события выберите из списка.
- Выражение
Организатор — имя, recordRef или емейл организатора. Конечным результатом обработки поля будет являться email.
Поддерживаются expression для получения данных из переменных или сервисов.
Например:
ivan.petrovGROUP_company_accountantemodel/authority-group@company_accountantemodel/person@ivanivan.petrov@citeck.ruЕсли передан объект, который содержит несколько емейлов (группа пользователей), то будет выбран первый вычисленный email.
Дата начала события может быть указана в формате ISO или выражение:
2020-06-20T10:30:00Z${ someDate}Выражение всегда должно возвращать java.util.Date, java.util.String (ISO 8601) или null.
Продолжительность события указывается в ISO 8601 формате. Например:
- PT15S — 15 секунд
- PT1H30M — 1 час 30 минут
- P14D — 14 дней
Может быть указана напрямую или через expression. Например:
${someVariable} |
|
Получатели могут быть выбраны из:
- Роли — роли, заполненные в типе данных.
- Выражение — имя, recordRef или емейл получателя. Поддерживаются expression для получения данных из переменных или сервисов. Expression может вернуть множественное значение — строки разделенные запятой:
ivan@mail.com,user2,user3.Например:
ivan.petrovGROUP_company_accountantemodel/authority-group@company_accountantemodel/person@ivan${someVariable}${someService.getEmails()},petya.voks |
|
Исходящий адрес — исходящий адрес уведомления. Может быть указан напрямую или через expression.
Если пусто, то будет использовано значение по умолчанию.
Например:
someAddress@mail.com"Some Name" <someAddress@mail.com>${someExpressionToGetAddress}Получение адреса из Конфигурации Citeck:
${Config.getNotNull("app/you-app$you-config-key").asText()}Record уведомления — базовый record для заполнения шаблона. Если в этом поле ничего не указано, то берется документ, по которому запущен бизнес-процесс.
Язык — указывается язык шаблона уведомления в формате
ru, en и т.д. Если язык не указан, то берется язык по умолчанию.Дополнительная модель (additional meta) — описание дополнительной мета информации, где
- ключ (string) — по ключу становится доступна информация в модели шаблона уведомления.
- значение (object) — если в значении передана строка и начинается с префикса
!str_, то символы после префикса записываются как строка, иначе строка считается как recordRef. |
|
Важно
При сохранении, сохранении/публикации процесса проверяется обязательность заполнения следующих полей:
«Шаблон» или «Тело сообщения»;
«Получатели» (Роли или Выражение).
Иначе в линтере будет выдана ошибка.
Доступные переменные
В модели шаблона уведомлений есть доступ к следующим переменным:
Переменные из базового record. По умолчанию это документ, по которому идет бизнес-процесс. Обращение происходит напрямую к атрибутам record.
Переменные процесса. Через переменную
$processдоступны переменные процесса на момент отправки уведомления.Переменные событий Citeck. Доступны через переменную
$process.event.Контекстные переменные Records API
Также в самом шаблоне уведомлений доступны сервисы шаблонизатора.
Пример использования переменных в шаблоне
Для примера используем event sub process, который реагирует на событие добавления нового комментария и отправляет уведомление.
Шаблон уведомления содержит модель:
"model": {
"documentDisp": ".disp",
"documentCreated": "_created",
"documentFio": "fio",
"now": "$now",
"user": "$user",
"processAtt": "$process.someAttr",
"str": "$str",
"commentText": "$process.event.text",
"eventId": "$process.event._meta.id",
"eventType": "$process.event._meta.type",
"eventRecord": "$process.event.eventRecord",
"eventRecordCreated": "$process.event.eventRecordCreated",
"currentRunAsUser": "$process.currentRunAsUser"
}
Шаблон уведомления содержит текст:
В результате получим следующее уведомление:
Если необходимо отправить сообщение о добавлении комментария с вложением (реакция на событие добавления комментария), то нужно добавить в модель уведомления атрибут:
"model": {
"_attachments": "$process.event.attachments[]._as.ref._content{bytes, meta:?json}"
}