Старт бізнес-процесу в іншому реєстрі
Розширення Start business process in another registry — делегат для запуску бізнес-процесів в інших реєстрах на Платформі, який налаштовується за допомогою розробленого однойменного шаблону Start business process in another registry (registryConnectorStartBpDelegate.json).
- Для налаштування шаблону делегата в Camunda Modeler, необхідно виконати наступні кроки:
-
-
Створіть Service Task.
-
На панелі налаштувань справа натисніть кнопку
Open Catalog
, оберіть відповідний шаблон Start business process in another registry зі списку та натиснітьApply
для підтвердження. -
Сконфігуруйте обраний шаблон:
Перед налаштуванням шаблону в Camunda Modeler переконайтеся, що папка із застосунком resources → element-templates містить файл registryConnectorStartBpDelegate.json. -
У полі
Name
введіть назву сервісної задачі, в рамках якої налаштовується делегат. Наприклад,Ініціювати бізнес-процес в іншому реєстрі на Платформі
. -
Перейдіть до секції Input Parameters (Вхідні параметри запита):
-
Розгорніть блок Target registry та вкажіть назву цільового реєстру для запуску в ньому бізнес-процесу.
Назва реєстру має відповідати назві, вказаній для реєстру (namespace) в адміністративній панелі Control Plane. -
Активуйте позначку
Local Variable Assignment
→ON
. Це дозволить створити локальну змінну для назви реєстру, в якому необхідно запустити бізнес-процес. -
У полі
Variable Assignment Type
оберіть з випадного списку тип призначення змінної —String or Expression
. -
У полі
Variable Assignment Value
вкажіть назву реєстру із Control Plane, в якому необхідно запустити бізнес-процес. Наприклад,test3
.У нашому випадку ми передаємо назву реєстру як константу, напряму, —
test3
.Можна також застосувати для цього функцію
submission()
і передати назву реєстру з користувацької форми як${submission('<formId>').formData.prop('namespace').value()}
, де'<formId>'
треба замінити на ID користувацької задачі (форми) у бізнес-процесі, а'namespace'
— атрибут для середовища (простір імен) кластера, де такий реєстр розгорнуто.Приклад 1. Приклад для передачі назви реєстру через функцію submission()${submission('childDataInput').formData.prop('namespace').value()}
-
-
Розгорніть блок Business process definition key та вкажіть ідентифікатор бізнес-процесу, який необхідно запустити в цільовому реєстрі.
ID бізнес-процесу є унікальним в рамках регламенту певного реєстру і відповідає параметру process_definition_id
у каталозі bp-auth або параметруprocess_definition_key
у bpms.-
Активуйте позначку
Local Variable Assignment
→ON
. Це дозволить створити локальну змінну для ідентифікатора процесу у реєстрі, який необхідно запустити. -
У полі
Variable Assignment Type
оберіть з випадного списку тип призначення змінної —String or Expression
.У нашому випадку — це буде рядок, тобто String
. -
У полі
Variable Assignment Value
вкажіть ID процесу, який необхідно запустити. Наприклад,called-bp—another-registry-test
.
-
-
Розгорніть блок Start variables та вкажіть стартові змінні для бізнес-процесу, який необхідно запустити в цільовому реєстрі.
Для того, щоб цільовий процес запрацював, йому необхідно передати відповідні параметри запуску. Такі параметри необхідно передати як набір змінних для запуску бізнес-процесу — start variables.
-
Активуйте позначку
Local Variable Assignment
→ON
. Це дозволить створити локальні змінні для ініціювання процесу в іншому реєстрі. -
У полі
Variable Assignment Type
оберіть з випадного списку тип призначення змінної —Map
.Іншими словами, необхідно передати набір пар "ключ-значення". -
У полі
Variable Assignment Value
вкажіть ключі та їх значення для змінних старту процесу, який необхідно запустити.Додайте два записи. Для цього дві натисніть
Add Entry
:-
У першому рядку для поля
Key
вкажітьeduname
, а для поля Value вкажіть значення параметра. Наприклад,${submission('ChildDataInput').formData.prop('eduFullName').value()}
. -
У другому рядку для поля
Key
вкажітьformData
, а для поля Value вкажіть значення параметра. Наприклад,${submission('ChildDataInput').formData.toString()}
.У нашому випадку ми передаємо 2 параметри (змінні) з відповідної форми ( ChildDataInput
) за допомогою функціїsubmission()
.
-
-
-
Розгорніть блок X-Access-Token та вкажіть введіть токен доступу до ресурсу:
-
Активуйте позначку
Local Variable Assignment
→ON
. Це дозволить створити локальну змінну для токена доступу. -
У полі
Variable Assignment Type
оберіть з випадного списку тип призначення змінної —String or Expression
. -
У полі
Variable Assignment Value
введіть токен доступу. Наприклад,${initiator().accessToken}
.Токен доступу береться з АБО ініціатора (наприклад,
$initiator().accessToken}
), АБО виконавця останньої користувацької задачі (наприклад,${completer('taskDefinitionId').accessToken}
).
-
-
-
У секції Output Parameters (Вихідні параметри):
-
Розгорніть блок Result variable вкажіть назву змінної процесу, до якої необхідно записати результат (за замовчуванням —
response
):-
Активуйте позначку
Local Variable Assignment
→ON
. -
У полі
Variable Assignment Type
оберіть з випадного списку тип призначення змінної —String or Expression
. -
У полі
Variable Assignment Value
введіть назву результівної змінної (за замовчуванням —response
).
-
-
-
-