Пошук користувачів реєстру за атрибутами: Search registry users by attributes
| Ця функціональність застаріла і буде видалена у майбутніх релізах. Використовуйте оновлену версію цього делегата: Пошук користувачів реєстру: Search registry users |
Цей документ надає інструкції щодо використання інтеграційного розширення для пошуку користувачів у реєстрі за атрибутами через REST API.
1. Загальна інформація
Інтеграційне розширення Search registry users by attributes надає змогу виконувати пошук користувачів у реєстрі за різними атрибутами, сприяючи оптимізації процесів взаємодії з користувачами.
| Назва | Пояснення |
|---|---|
Бізнес-назва інтеграційного розширення |
Search registry users by attributes |
Службова назва інтеграційного розширення |
|
Назва файлу у бібліотеці розширень |
searchRegistryUsersByAttributes.json |
2. Перед початком
|
Якщо ви використовуєте функціональність Кабінету адміністратора регламентів для розробки реєстру, вам не потрібно встановлювати типові розширення, додаткові зовнішні застосунки та плагіни. Портал містить усе необхідне вбудоване з коробки. При моделюванні бізнес-процесів із використанням сторонніх застосунків, важливо інтегрувати каталог типових розширень з нашого репозиторію. Завітайте до business-process-modeler-extensions, щоб завантажити необхідні файли. Наприклад, для таких інструментів, як Camunda Modeler, у вашій теці /element-templates мають бути включені відповідні JSON-файли. Для детальних інструкцій, будь ласка, перегляньте Встановлення типових розширень. |
3. Налаштування делегата
Делегат Search registry users by attributes призначений для використання у сервісних завданнях (Service Task) бізнес-процесу. Він дозволяє виконати пошук користувачів у реєстрі за заданими атрибутами. Keycloak API отримує GET-запити із заданими параметрами та повертає масив імен (username) користувачів, які надалі можна використати у бізнес-процесі.
|
Наразі обов’язковими атрибутами для всіх реєстрів є Реєстри можуть також використовувати довільні атрибути. Наприклад, Зверніть увагу, що залежно від контексту вашої бізнес-логіки, довільний атрибут може бути обов’язковим. Наприклад, коли ви використовуєте ієрархічну модель доступу до даних. Більш детально про це — див. Ієрархічна модель. |
3.1. Налаштування сервісного завдання
-
Створіть завдання типу Service Task у вашому бізнес-процесі.
-
Назвіть завдання, наприклад,
Отримання переліку посадових осіб реалма. -
Застосуйте шаблон делегата, обравши відповідний зі списку в налаштуваннях завдання.

3.2. Налаштування делегата
У розділі Custom properties налаштуйте параметри пошуку. Секція Inputs дозволяє задати параметри для виконання пошуку.
3.2.1. Пошукові критерії
Ця секція описує можливі пошукові критерії, які можна використовувати для пошуку користувачів у реєстрі за атрибутами.
| Важливо розуміти, що подані приклади наведені у вигляді JSON-об’єктів для зручності пояснення і можуть варіюватися залежно від специфіки API, через який ви робите запит. |
- Attributes Equals
-
Map атрибутів для точного пошуку.
Критерій
Attributes Equalsвикористовується для знаходження користувачів, атрибути яких точно збігаються зі вказаними значеннями.Приклад JSON{ "Attributes Equals": { "department": "HR", "role": "manager" } }У цьому прикладі система знайде користувачів, у яких атрибут
departmentточно дорівнює"HR"і атрибутroleточно дорівнює"manager". - Attributes Starts With
-
Map атрибутів для пошуку за початковими символами.
Критерій
Attributes Starts Withшукає користувачів, атрибути яких починаються з вказаних у запиті символів.Приклад JSON{ "Attributes Starts With": { "lastName": "Iva" } }Тут пошук буде здійснюватися серед користувачів, прізвище яких починається з "Iva", наприклад,
"Ivanenko","Ivanov"тощо. - Attributes that are start for
-
Map, що містить атрибути, значення яких мають бути початком для значень вказаних атрибутів користувача.
Критерій
Attributes that are start forперевертає логіку пошукуAttributes Starts With, шукаючи користувачів, значення атрибутів яких є початком для значення, заданого в запиті.Приклад JSON{ "Attributes that are start for": { "projectCode": "Proj123" } }У цьому випадку будуть знайдені користувачі, атрибути яких містять значення, що є початком для
"Proj123". Наприклад, якщо користувач має атрибутprojectCodeзі значенням"Proj", він відповідає критерію.
3.2.2. Приклад пошуку за критерієм Attributes Starts With
Розглянемо приклад використання пошукового критерію Attributes Starts With.
Цей приклад виконає пошук користувачів, атрибут hierarchy_code яких починається з "01".
-
.
-
-
Assignment type:
Map -
Map entries: Задайте пари ключ-значення для пошуку.
-
Realm: Вкажіть реалм (
OFFICERабоCITIZEN), у якому потрібно здійснити пошук користувачів. -
Limit: Максимальна кількість користувачів для виведення. Якщо не задано або ≤ 0, буде повернуто весь список користувачів.
-
Continue token: Токен, що вказує на початок сторінки. У відповіді кожного пошуку користувачів від цього розширення буде
continueToken, який вказує на наступну сторінку.
-
-
.
Вкажіть змінну процесу, до якої буде записано відповідь зі списком користувачів, наприклад,usersResponse.
{
"hierarchy_code": "${initiator().attributes["hierarchy_code"].get(0)}",
"realm": "OFFICER",
"limit": 10
}
Після успішного завершення операції, делегат отримує відповідь наступного формату:
{
"users": [
{
"id": "userId",
"userName": "userName",
"fullName": "Іванов Іван Іванович",
"attributes": {
"edrpou": "11111111",
"drfo": "1010101010"
}
},
{
"id": "userId2",
"userName": "userName2",
"fullName": "Петров Петро Петрович",
"attributes": {
"edrpou": "22222222",
"drfo": "2020202020"
}
}
],
"pagination": {
"continueToken": 42
}
}
4. Приклад
Нижче наведено референтний приклад, який демонструє використання делегата Search registry users by attributes:
Де можна знайти приклад референтного бізнес-процесу?Адміністратор Платформи може розгорнути для вас демо-реєстр — еталонний реєстр, що містить референтні та інші приклади файлів для створення цифрового регламенту. Він містить різноманітні елементи для розробки моделі даних, бізнес-процесів, UI-форм, аналітичної звітності, витягів, сповіщень, зовнішніх інтеграцій та багато іншого. Еталонний регламент з прикладами для України зберігається в репозиторії Детальну інструкцію щодо розгортання демо-реєстру та отримання референтних прикладів моделювання ви знайдете на сторінці Розгортання демо-реєстру із референтними прикладами. Приклад BPMN-схеми процесу буде доступний у регламенті демо-реєстру за пошуком по ключовим словам — reference-officers-management. Назви форм ви можете знайти всередині відповідних користувацьких задач бізнес-процесу у полі |