Разработка плагинов
notify
Интерфейс отправки уведомлений пользователям и группам пользователей - в системе и на e-mail. Доступен во всех типах плагинов (кроме form()); в бизнес-процессах заголовок уведомления - название события, в остальных плагинах - «Запуск плагина». Все методы возвращают ответ сервера строкой (String).
Параметры называются info и sourceTitle; в штатном шаблоне бизнес-процесса первым передаётся короткий заголовок, вторым - развёрнутый текст уведомления.
Идентификатор задачи, переданный в
send(..., taskUuid) или sendGroup(..., taskUuid), запоминается и добавляется ко всем следующим уведомлениям этого запуска. В обработчиках событий задач бизнес-процесса notify уже привязан к задаче события.- send - cоздание уведомлений с указанной информацией
- sendEmail - cоздание уведомления на Email пользователей с указаннием идентификатора, информации, заголовка
- sendGroup - cоздание уведомлений для группы пользователей
- sendGroupEmail - cоздание уведомлений для группы пользователей на Email
send - cоздание уведомлений с указанной информацией
- notify.send(String info, String sourceTitle, UUID taskUuid) →
String- cоздание уведомлений с указанной информацией, заголовком и идентификатором задачи - notify.send(String info, String sourceTitle) →
String- создание уведомлений с указанной информацией и заголовком - notify.send(List<UUID> workers, String info, String sourceTitle) →
String- создание уведомлений для пользователей с указанием списка идентификаторов, информации, заголовка
Перегрузка со списком принимает именно
List<UUID>: набор (Set) преобразуйте через new ArrayList<>(set). Пустой список - уведомление не отправляется, метод вернёт null.Пример использования:
def workerUuids = [] as Set
task.groupWorkers.each { worker -> workerUuids.addAll(worker.profiles) }
workerUuids.addAll(task.workers*.uuid)
notify.send(new ArrayList<>(workerUuids), title, text)
sendEmail - cоздание уведомления на Email пользователей с указаннием идентификатора, информации, заголовка
- notify.sendEmail(Object objects, String info, String sourceTitle) →
String- отправка e-mail.objectsможет быть:UUIDпрофиля пользователя;String- адрес электронной почты;List<Profile>- список профилей пользователей;List<OrgGroupFullDTO>- список групп (письмо получат участники групп).
Для других типов (и пустого списка) письмо не отправляется, метод вернётnull.
Пример использования:
notify.sendEmail("user@example.com", "Отчёт готов", "Отчёт по проекту сформирован")
notify.sendEmail(profileUuid, info, sourceTitle)
sendGroup - cоздание уведомлений для группы пользователей
- notify.sendGroup(UUID orgGroupUuid, String info, String sourceTitle) →
String- cоздание уведомлений для группы пользователей с указанием идентификатора группы, информации, заголовка - notify.sendGroup(UUID orgGroupUuid, String info, String sourceTitle, UUID taskUuid) →
String- создание уведомлений для группы пользователей с указанием идентификатора группы, информации, заголовка и идентификатора задачи - notify.sendGroup(List<UUID> orgGroupUuids, String info, String sourceTitle, UUID taskUuid) →
String- создание уведомлений для группы пользователей с указанием списка идентификаторов групп, информации, заголовка и идентификатора задачи - notify.sendGroup(List<UUID> orgGroupUuids, String info, String sourceTitle) →
String- создание уведомлений для группы пользователей с указанием списка идентификаторов групп, информации, заголовка
Пример использования:
notify.sendGroup(director.uuid,
"Вас назначили на задачу",
"Вы были назначены на задачу" + task.title, task.uuid)
sendGroupEmail - cоздание уведомлений для группы пользователей на Email
- notify.sendGroupEmail(OrgGroupFullDTO orgGroupFull, String info, String sourceTitle) →
String- cоздание уведомлений для группы пользователей на Email с указанием группы, информации, заголовка - notify.sendGroupEmail(UUID orgGroupUuid, String info, String sourceTitle) →
String- создание уведомлений для группы пользователей на Email с указанием идентификатора группы, информации, заголовка - notify.sendGroupEmail(List<OrgGroupFullDTO> groups, String info, String sourceTitle) →
String- создание уведомлений для группы пользователей на Email с указанием списка групп, информации, заголовка - notify.sendGroupEmail(UUID[] orgGroupUuids, String info, String sourceTitle) →
String- создание уведомлений для группы пользователей на Email с указанием списка идентификаторов групп, информации, заголовка
Пример использования:
notify.sendGroupEmail(orgGroupFull, info, sourceTitle)

