Отримання користувачів за роллю з Keycloak: Get users by role from Keycloak
Цей документ надає інструкції щодо використання інтеграційного розширення для отримання користувачів з Keycloak за роллю через REST API.
1. Загальна інформація
Інтеграційне розширення Get users by role from Keycloak дозволяє отримувати користувачів з відповідною роллю з Keycloak. Це спрощує доступ до даних користувачів для подальшого використання в бізнес-процесах.
Назва | Пояснення |
---|---|
Бізнес-назва інтеграційного розширення |
Get users by role from Keycloak |
Службова назва інтеграційного розширення |
|
Назва файлу в бібліотеці розширень |
getUsersByRoleFromKeycloak.json |
2. Перед початком
Якщо ви використовуєте функціональність Кабінету адміністратора регламентів для розробки реєстру, вам не потрібно встановлювати типові розширення, додаткові зовнішні застосунки та плагіни. Портал містить усе необхідне вбудоване з коробки. При моделюванні бізнес-процесів із використанням сторонніх застосунків, важливо інтегрувати каталог типових розширень з нашого репозиторію. Завітайте до business-process-modeler-extensions, щоб завантажити необхідні файли. Наприклад, для таких інструментів, як Camunda Modeler, у вашій теці /element-templates мають бути включені відповідні JSON-файли. Для детальних інструкцій, будь ласка, перегляньте Встановлення типових розширень. |
3. Налаштування
3.1. Налаштування завдання
-
Створіть завдання типу Service Task у вашому бізнес-процесі.
-
Назвіть завдання. Наприклад,
Отримання користувачів з відповідною роллю
. -
Застосуйте шаблон делегата Get users by role from Keycloak.
3.2. Налаштування делегата
Заповніть необхідні параметри у розділі Custom properties:
-
Role name (опційний параметр).
-
Вкажіть назву ролі або ролей користувачів. Наприклад, вираз
${inputPayload.getValue().prop('role').value()}
зможе отримати значення ролі із вхідних даних процесу динамічно. -
Вкажіть назву ролі напряму як константу. Наприклад,
officer
,officer-first-rank
тощо.Якщо поле порожнє, система застосує роль за замовчуванням — officer
.
-
-
Limit (опційний параметр).
Кількість користувачів, яких потрібно повернути у відповіді. Якщо не вказано, система використовує значення100
за замовчуванням. Наприклад, можна вказати300
, щоб отримати більше результатів. -
Offset (опційний параметр).
Кількість користувачів, яких слід пропустити перед поверненням результатів. Якщо не вказано, система використовує значення0
за замовчуванням. -
Result variable Вкажіть змінну процесу, до якої буде записано результат виконання завдання. Наприклад,
officerUsers
.
Обов’язково перевірте, щоб усі необхідні поля були коректно заповнені, і значення відповідали вимогам вашого бізнес-процесу. |
4. Результат виконання
Після успішного виконання завдання результат буде збережено у змінній, зазначеній у полі Result variable. Наприклад:
{
"users": [
{
"id": "userId1",
"userName": "userName1",
"fullName": "Іванов Іван Іванович",
"attributes": {
"role": "officer-first-rank"
}
},
{
"id": "userId2",
"userName": "userName2",
"fullName": "Петров Петро Петрович",
"attributes": {
"role": "officer-first-rank"
}
}
]
}
5. Приклад
Нижче наведено приклад використання делегата Get users by role from Keycloak у бізнес-процесі. Детальний опис процесу ви можете знайти на сторінці Моделювання паралельного виконання задач надавачами послуг із різними ролями.

Де можна знайти приклад референтного бізнес-процесу?Адміністратор Платформи може розгорнути для вас демо-реєстр — еталонний реєстр, що містить референтні та інші приклади файлів для створення цифрового регламенту. Він містить різноманітні елементи для розробки моделі даних, бізнес-процесів, UI-форм, аналітичної звітності, витягів, сповіщень, зовнішніх інтеграцій та багато іншого. Детальну інструкцію щодо розгортання демо-реєстру та отримання референтних прикладів моделювання ви знайдете на сторінці Розгортання демо-реєстру із референтними прикладами. Приклад BPMN-схеми процесу можна знайти в регламенті демо-реєстру за пошуком ключових слів — reference-parallel-tasks-officers-diff-rls. |