JUEL-функції у бізнес-процесах
Загальний опис
У Camunda ви можете використовувати скрипти в різних місцях бізнес-процесу. Наприклад, при роботі зі Script Task. Camunda Engine підтримує скриптування мовами JavaScript, Groovy або JUEL тощо.
У розрізі Платформи реєстрів реалізовано підтримку скриптування за допомогою Groovy та JUEL (Java Unified Expression Language) — уніфікованої скриптової мови виразів Java — з використанням спеціальних розроблених JUEL-функцій, для спрощення моделювання бізнес-процесів.
1. Функція initiator()
Функція initiator()
призначена для отримання та подальшого використання ініціатора (initiator
) в процесі.
Повертає клас UserDto
.
UserDto — клас, що є обгорткою даних користувача (тут — ініціатора).
Завжди містить у собі userName , токен і JwtClaimsDto до першої задачі користувача.
|
Методи взаємодії
Функція надає наступні методи:
-
getUserName()
— повертає ім’я користувача, що можна використовувати в поляхAssignee
таCandidate Users
задач користувача. -
getAccessToken()
— повертає токен користувача, що можна використовувати в інтеграційних конекторах для інтеграції від імені користувача. -
getDrfo()
— делегує виклик наJwtClaimsDto
та повертає Keycloak-атрибутdrfo
користувача. -
getEdrpou()
— делегує виклик наJwtClaimsDto
та повертає Keycloak-атрибутedrpou
користувача. -
getFullName()
— делегує виклик наJwtClaimsDto
та повертає Keycloak-атрибутfullName
користувача.
Токен ініціатора, а разом з ним і всі атрибути Keycloak, будуть доступні тільки до першої користувацької задачі (User Task) у бізнес-процесі. |
2. Функція completer()
Функція completer(<task_id>)
дозволяє отримати виконавця користувацької задачі для подальшого використання у процесі.
Повертає клас UserDto
.
UserDto — клас, що є обгорткою даних користувача (тут — ініціатора).
Завжди містить у собі userName , токен і JwtClaimsDto до першої задачі користувача.
|
Методи взаємодії
Функція надає наступні методи:
-
getUserName()
— повертає ім’я користувача, що можна використовувати в поляхAssignee
таCandidate Users
задач користувача. -
getAccessToken()
— повертає токен користувача, що можна використовувати в інтеграційних конекторах для інтеграції від імені користувача. -
getDrfo()
— делегує виклик наJwtClaimsDto
та повертає Keycloak-атрибутdrfo
користувача. -
getEdrpou()
— делегує виклик наJwtClaimsDto
та повертає Keycloak-атрибутedrpou
користувача. -
getFullName()
— делегує виклик наJwtClaimsDto
та повертає Keycloak-атрибутfullName
користувача.
Функція completer(<task_id>) доступна для використання після успішного завершення користувацької задачі.
|
3. Функція submission()
Функція submission(<activity_id|event_id>)
дозволяє отримати дані форми користувацької задачі та повертає клас UserFormDataDto
.
UserFormDataDto — клас, що є обгорткою даних форми користувача.
|
Функція submission(<activity_id|event_id>) доступна для використання після успішного завершення користувацької задачі або стартової форми.
|
4. Функція sign_submission()
Функція sign_submission(<activity_id|event_id>)
використовується для отримання підпису та даних форми користувацьких задач.
Повертає клас SignUserFormDataDto
.
SignUserFormDataDto — клас, що є обгорткою для даних форми користувача, підпису та ключа CEPH-документа, де зберігається підпис.
|
Функція sign_submission(<activity_id|event_id>) доступна для використання після успішного завершення задачі, що потребує валідації підписом користувача, або стартової форми.
|
5. Функція system_user()
Функція system_user()
необхідна для отримання системного користувача з Keyclock.
Повертає клас UserDto
.
UserDto — клас, що є обгорткою даних користувача (тут — ініціатора).
Завжди містить у собі userName , токен і JwtClaimsDto до першої задачі користувача.
|
Методи взаємодії
Функція надає наступні методи:
-
getUserName()
— повертає ім’я користувача, що можна використовувати в поляхAssignee
таCandidate Users
задач користувача. -
getAccessToken()
— повертає токен користувача, що можна використовувати в інтеграційних конекторах для інтеграції від імені користувача. -
getDrfo()
— делегує виклик наJwtClaimsDto
та повертає Keycloak-атрибутdrfo
користувача. -
getEdrpou()
— делегує виклик наJwtClaimsDto
та повертає Keycloak-атрибутedrpou
користувача. -
getFullName()
— делегує виклик наJwtClaimsDto
та повертає Keycloak-атрибутfullName
користувача.