Элементы Task
Общее описание
Задача получения сообщений
представляет собой Автоматическую Задачу, приостанавливающую выполнение ветки процесса до получения сообщения определенного типа от внешней АС или другого экземпляра процесса.
После получения сообщения выполнение ветки процесса продолжается, а переданные в сообщении данные помещаются в контекст процесса и доступны для обработки в последующих задачах.В Палитре этот элемент находится в папке "Tasks" и выглядит следующим образом:

Увеличить
Графическая нотация
Задача получения сообщений
обозначается как прямоугольник со скругленными краями и белым конвертом в левом верхнем углу:
Увеличить
Внимание! Задачи "Отправка сообщения (Send Task)" и "Получение сообщения (Receive Task)" используются всегда в паре.
Задача "Отправка сообщения (Send Task)":
- считывает из контекста процесса значения атрибутов, формирует из них запрос;
- передает запрос во внешний сервис.
Задача "Получение сообщения (Receive Task)":
- принимает ответ внешнего сервиса;
- сохраняет атрибуты ответа в контекст процесса.
Выбор атрибутов ответа, которые необходимо сохранять в контекст, определяет сотрудник, проектирующий процесс.
XML представление
receiveTask type=xml<bpmn2:receiveTask id="e17a2ced-6b3e-4c19-bca0-2b46fcbaf760" sbt:marker.type="Markable" sbt:sbtType="com.sbt.bpms.modeler.plugin.marker.markableRecieveTask" name="New Receive Task" > </bpmn2:receiveTask>
Вкладка General
Описание вкладки см. в разделе Вкладка General статьи о свойствах элементов.
Вкладка Properties
Стандартная вкладка всех задач. В данном случае не содержит элементов.
Вкладка Marker
Описание вкладки приведено в разделе Настройка точек мониторинга.
Вкладка Execution Listeners
Описание вкладки приведено в разделе Настройка Execution Listeners.
Общее описание
Задача-сценарий
выполняется механизмом исполнения бизнес-процессов.
Разработчик модели процесса может создать скрипт, который распознается механизмом исполнения.
В нужный момент, когда задача должна быть выполнена, запускается сценарий исполнения скрипта.В Палитре эти элементы находится в папке "Tasks" и выглядят следующим образом:
- Script Task:
Увеличить
- External Script Task:
Увеличить
External Script Task
- альтернативная реализация Script Task
, которая позволяет переиспользовать существующий js
или groovy
-код через подключение его к шагу процесса.Графическая нотация
Задача-сценарий (Script Task)
обозначается как прямоугольник со скругленными краями и свитком в левом верхнем углу:
Увеличить
External Script Task
:
Увеличить
XML представление
scriptTask type=xml<bpmn2:scriptTask id="eb28351f-796a-4a71-b23d-57d39969a7a9" sbt:marker.type="Markable" sbt:sbtType="com.sbt.bpms.modeler.plugin.marker.markableScriptTask" name="New Script Task" scriptFormat="JavaScript" > </bpmn2:scriptTask>
Вкладка General
Описание вкладки см. в разделе Вкладка General статьи о свойствах элементов.
Вкладка Properties

Увеличить
Допускается написание скрипта с помощью двух языков: JavaScript и Groovy. Выбор языка осуществляется с помощью выпадающего списка "Script Language".
-
Поле "Script" предназначено непосредственно для скрипта.
-
Для "External Script Task" пользователь может указать путь к файлу, из которого должен быть импортирован скрипт.
Скрипт может быть отредактирован в среде разработки и принудитльно сохранен пользователем обратно в файл.

Увеличить
Вкладка Marker
Описание вкладки приведено в разделе Настройка точек мониторинга.
Вкладка Execution Listeners
Описание вкладки приведено в разделе Настройка Execution Listeners.
Общее описание
Пользовательская задача
- элемент процесса, который предполагает, что задача будет выполнена человеком с использованием ПО.В Палитре этот элемент находится в папке "Tasks" и выглядит следующим образом:

Увеличить
Графическая нотация
Пользовательская задача обозначается как прямоугольник со скругленными краями и иконкой пользователя в левом верхнем углу.

Увеличить
XML представление
Представление пользовательской задачи в XML:
userTask type=xml<userTask id="theTask" name="Important task"/> <bpmn2:userTask id="f2fe3c95-d020-4d04-b91a-22392abc268c" sbt:marker.type="Markable" sbt:sbtType="com.sbt.bpms.modeler.plugin.marker.markableUserTask" sbt:excludedUsers="" sbt:managerRole="" bpmn:candidateGroups="" bpmn:dueDate="" bpmn:formKey="" bpmn:priority="" bpmn:assignee="" name="New User Task"> </bpmn2:userTask>
Пользовательская задача, также как и любой элемент BPMN 2.0, может иметь описание.
Описание определяется путем добавления элемента "documentation":
documentation type=xml<userTask id="theTask" name="Schedule meeting"> <documentation> Schedule an engineering meeting for next week with the new hire. </documentation>
Вкладка General
Описание вкладки см. в разделе Вкладка General статьи о свойствах элементов.
Вкладка Properties

Увеличить
Настройки вкладки "Properties" - группа полей "Attributes" содержит следующие параметры:
№ | Параметр | Описание |
---|---|---|
1 | Assignee | Поле, позволяющее указать логин конкретного пользователя, на которого необходимо назначить задачу. Необязательно для заполнения |
2 | Candidate Groups | Код роли исполнителя |
3 | Due Date | Поле, отвечающее за значение срока исполнения пользовательской задачи с момента ее создания. Срок исполнения необходимо указывать в одном из следующих форматах: Java.util.Date , java.util.String (ISO8601) , ISO8601 time-duration . Обязательно для заполнения. Примеры заполнения поля: - P2D - срок исполнения задачи истечет через 2 дня. Этот же период можно представить в часах, тогда выражение будет выглядеть так: PT48H ; - PT24H - срок исполнения задачи истечет через 24 часа; - PT3H - срок исполнения задачи истечет через 3 часа; - PT30M - срок исполнения задачи истечет через 30 минут; - P6W - срок исполнения задачи истечет через 6 недель; - P2Y10M15DT10H30M20S - срок исполнения задачи истечет через 2 года, 10 месяцев, 15 дней, 10 часов, 30 минут, 20 секунд. В случае необходимости указания срока исполнения задачи через переменную, необходимо использовать выражение ${userTaskDueDate} - где userTaskDueDate - переменная, в которой хранится значение срока исполнения |
4 | Form Key | Поле, отвечающее за путь к форме задачи, которая будет открываться при нажатии кнопки "Выполнить" на портале. Путь к форме должен быть представлен в формате: react:bpms-*наименование проекта*-ui?formName=*наименование формы , либо пользователь может указать абсолютную ссылку. Пример: react:bpms-flexprice-ui?formName=managerPrimaryForm .Обязательно для заполнения. Важно! Форма пользовательской задачи разрабатывается и хранится в прикладной фабрике. Полный путь к форме может быть определен, как аналитиком прикладной фабрики, так и разработчиком формы |
5 | Manager Role | Код роли руководителя |
6 | Priority | Поле, отвечающее за приоритет задачи. Допустимые значения: 0-99. Обязательно для заполнения. Диапазоны значений приоритета: - 0 - 39: Низкий; - 40 - 59: Средний; - 60 - 99: Высокий |
7 | Excluded Users | Список логинов пользователей, на которых не может быть назначена задача. Важно! Поля "Manager Role" и "Candidate Groups" должны быть обязательно заполнены. Каждое поле должно содержать только одну роль |
Вкладка Marker
Описание вкладки представлено в разделе Настройке точек мониторинга.
Вкладка Execution Listeners
Описание вкладки представлено в разделе Настройке Execution Listeners.
Вкладка Task Listeners
Вкладка служит для настройки Task Listeners.

Увеличить
Task Listeners рекомендованы к использованию для вызова повторяющихся, рутинных действий, обработки атрибутов контекста процесса и контекста пользовательских задач, присвоения значений констант.
Вызываемая функциональность может быть представлена:
- выражением на языке "Java Query Language";
- вызовом Java-класса с вложенной функциональностью.
Для добавления
Task Listener
необходимо нажать пиктограмму "плюс" и в открывшемся окне заполнить поля:
Увеличить
- Свойства "Task Listeners" - "Task Listeners List":
Параметр | Значение | Комментарий |
---|---|---|
Value Type | Тип слушателя | Доступно одно значение: Expression . Значение Class более недоступно |
Value | Значение | Неактуально: для слушателей типа Class необходимо указать путь до класса в формате "com.sbt.bpms.Наименование проекта.serviceTasks.Наименование класса". Например, com.sbt.bpms.flexprice.serviceTasks.NotifyInvolvedService . Для слушателей типа Expression необходимо указать выражение, которое требуется выполнить |
Select | Ready Expression | Использование готовых выражений Использование готовых выражений описано ниже |
Event | Событие | Task Listeners отслеживает события: - Create - Task Listener выполняется, когда Пользовательская задача создана; - Assignment - Task Listener выполняется, когда Пользовательская задача назначена на исполнителя; - Complete - Task Listener выполняется, когда Пользовательская задача выполнена |
-
Использование готовых выражений: преднастроенные выражения доступны для версии 1.9 и выше.Среда разработки имеет список преднастроенных наиболее часто используемых выражений. Для использования преднастроенного выражения необходимо нажать кнопку "Select". Откроется окно со списком доступных выражений:
Увеличить
Возможен поиск выражения с помощью поля "Search Pattern".Выбрав нужное выражение, необходимо ввести недостающие параметры:Увеличить
После заполнения всех необходимых полей нажмите "Ok". В строке "Value" отобразится итоговое выражение:Увеличить
Для сохраненияTask Listener
нажмите "Оk".
Вкладка Extra Attributes
Вкладка служит для настройки атрибутов Пользовательской задачи, которые будут отображаться в Карточке задачи на Портале задач.
Кроме того, указанные дополнительные атрибуты используются для создания динамической группы на портале задач.

Увеличить
Для создания дополнительного атрибута необходимо нажать пиктограмму "плюс" и в открывшемся окне заполнить поля:
Параметр | Значение | Комментарий |
---|---|---|
Process Var Name | Наименование переменной контекста процесса | Необходимо указать наименование переменной контекста процесса, в которой хранится значение дополнительного атрибута |
Extra Attribute Name | Наименование дополнительного атрибута | Наименование дополнительного атрибута отображается на портале задач на карточке задачи |
Documentation | Описание | Краткое описание атрибута (опционально) |
Type | Тип дополнительного атрибута | Доступно три типа атрибутов: - SearchField - атрибут отображается только на карточке и доступен для поиска; - Date - атрибут отображается на карточке, не участвует в поиске и доступен в виде date picker на панели фильтров для поиска по диапазону дат; - Dictionary - атрибут отображается на карточке, участвует в поиске и доступен в виде multiselect на панели фильтров. Ограничение - 25 значений в фильтре. Т.е. если есть предположение, что в атрибуте будет больше 25 уникальных значений, то необходимо использовать тип searchField |
Code | Код дополнительного атрибута | Необходимо указать код дополнительного атрибута |
Visibility | Видимость дополнительного атрибута на вкладке задачи | Доступно два режима: Visible - дополнительный атрибут отображается на карточке задачи. Invisible - дополнительный атрибут не отображается на карточке задачи |
Количество дополнительных атрибутов для одной пользовательской задачи ограничено: доступно 8 дополнительных атрибутов (и видимых, и невидимых).
Общее описание
Rest Task
является задачей-вызовом REST API. Разработчик указывает API и сопутствующие параметры. В нужный момент, когда задача должна быть выполнена, данный API вызывается в соответствии с заданными параметрами и выбранной (либо дефолтной) политикой повторных вызовов.Графическая нотация
Задача вызова REST API
обозначается как прямоугольник со скругленными краями и прямоугольником с надписью "REST" в левом верхнем углу:
Увеличить
В Палитре этот элемент находится в папке "Tasks".
XML представление
task type=xml<bpmn2:task id="f1b51f0d-e45a-449c-a1d2-dff3f8a92d00" sbt:sbtType="com.sbt.bpms.modeler.plugin.marker.RestTask" sbt:url="bpm.sbrf.ru/engine/v4/instances/{instanceId}/message" sbt:methodName="post" sbt:retryPolicyModelId="2" sbt:retryPolicyModelDescription="MyService policies" sbt:outputMapping="expression" sbt:apiSource="file" name="New Task"> <bpmn2:extensionElements> <sbt:inputParamList> <sbt:inputParam xsi:type="sbt:InputParam" sbt:id="f11793fe-eb12-4456-bbe0-60f025000120"> <sbt:name>instanceId</sbt:name> <sbt:type xsi:type="sbt:Value" text="required string (uuid)"><![CDATA[required string (uuid)]]></sbt:type> <sbt:variableName xsi:type="sbt:Value" text="v1"><![CDATA[v1]]></sbt:variableName> <sbt:inType>path</sbt:inType> </sbt:inputParam> <sbt:inputParam xsi:type="sbt:InputParam" sbt:id="ff9502b3-b42e-427f-9573-3f77cb81dbc4"> <sbt:name>messageName</sbt:name> <sbt:type xsi:type="sbt:Value" text="required string"><![CDATA[required string]]></sbt:type> <sbt:variableName xsi:type="sbt:Value" text="v2"><![CDATA[v2]]></sbt:variableName> <sbt:inType>requestBody</sbt:inType> </sbt:inputParam> <sbt:inputParam xsi:type="sbt:InputParam" sbt:id="4525cc6f-0ed4-45a0-894f-c11e44a4c236"> <sbt:name>payload</sbt:name> <sbt:type xsi:type="sbt:Value" text="object map<string, anyOf: boolean, string, number, integer, object>"><![CDATA[object map<string, anyOf: boolean, string, number, integer, object>]]></sbt:type> <sbt:variableName xsi:type="sbt:Value" text="v3"><![CDATA[v3]]></sbt:variableName> <sbt:inType>requestBody</sbt:inType> </sbt:inputParam> </sbt:inputParamList> <sbt:responseParamList> <sbt:responseParam xsi:type="sbt:ResponseParam" sbt:id="d3af90f2-badd-4f93-a1ef-dda1d27f4689"> <sbt:httpCode>200</sbt:httpCode> <sbt:contentType>application/json</sbt:contentType> <sbt:type>Schema Result</sbt:type> </sbt:responseParam> <sbt:responseParam xsi:type="sbt:ResponseParam" sbt:id="cbc118cb-9d3e-4187-ae2c-6af760755f18"> <sbt:httpCode>400</sbt:httpCode> <sbt:contentType>application/json</sbt:contentType> <sbt:type>Schema Error</sbt:type> </sbt:responseParam> <sbt:responseParam xsi:type="sbt:ResponseParam" sbt:id="bff63b99-381f-41af-823c-c1189ea965d9"> <sbt:httpCode>401</sbt:httpCode> <sbt:contentType>application/json</sbt:contentType> <sbt:type>Schema Error</sbt:type> </sbt:responseParam> <sbt:responseParam xsi:type="sbt:ResponseParam" sbt:id="ab4daa7f-eec7-4c67-8ca1-862a31d5d8c0"> <sbt:httpCode>403</sbt:httpCode> <sbt:contentType>application/json</sbt:contentType> <sbt:type>Schema Error</sbt:type> </sbt:responseParam> <sbt:responseParam xsi:type="sbt:ResponseParam" sbt:id="f14ac0fe-cbcb-4dc3-a06b-ad28c5c0f90a"> <sbt:httpCode>404</sbt:httpCode> <sbt:contentType>application/json</sbt:contentType> <sbt:type>Schema Error</sbt:type> </sbt:responseParam> <sbt:responseParam xsi:type="sbt:ResponseParam" sbt:id="f641cc65-07e5-4b8c-948b-6c13588f3fcc"> <sbt:httpCode>500</sbt:httpCode> <sbt:contentType>application/json</sbt:contentType> <sbt:type>Schema Error</sbt:type> </sbt:responseParam> </sbt:responseParamList> <sbt:httpHeaderList> <sbt:httpHeader xsi:type="sbt:HTTPHeader" sbt:id="efd5e6fb-e6b9-46c7-8dc0-dc483c1f15e3"> <sbt:name>Content-Type</sbt:name> <sbt:value>application/json</sbt:value> </sbt:httpHeader> </sbt:httpHeaderList> <sbt:httpCodeErrorMappingList> <sbt:httpCodeErrorMapping xsi:type="sbt:HTTPCodeErrorMapping" sbt:id="e2122032-8c70-4ef3-87bb-b81209d1aad9"> <sbt:bpmnErrorCode>1</sbt:bpmnErrorCode> <sbt:httpCode>400</sbt:httpCode> </sbt:httpCodeErrorMapping> </sbt:httpCodeErrorMappingList> <sbt:exceptionErrorMappingList> <sbt:exceptionErrorMapping xsi:type="sbt:ExceptionErrorMapping" sbt:id="bc8d2c6f-3c4c-4e03-9418-5b47467e0f9a"> <sbt:bpmnErrorCode>2</sbt:bpmnErrorCode> <sbt:exceptionName xsi:type="sbt:Value" text="exception"><![CDATA[exception]]></sbt:exceptionName> </sbt:exceptionErrorMapping> </sbt:exceptionErrorMappingList> <sbt:outputParamList> <sbt:outputParam xsi:type="sbt:OutputParam" sbt:id="b17eb956-81be-4499-a94b-c3f755582355"> <sbt:variableName xsi:type="sbt:Value" text="a"><![CDATA[a]]></sbt:variableName> <sbt:expression xsi:type="sbt:Value" text="b"><![CDATA[b]]></sbt:expression> </sbt:outputParam> </sbt:outputParamList> </bpmn2:extensionElements> <bpmn2:incoming>d590907b-88ce-4aea-8faf-0c2466e9bb4c</bpmn2:incoming> <bpmn2:outgoing>cce384d8-fb84-4b06-9f3f-056859ff0ce8</bpmn2:outgoing> </bpmn2:task>
Вкладка General
Описание вкладки см. в разделе Вкладка General статьи о свойствах элементов.
Вкладка Properties

Увеличить
-
В блоке "Select API" необходимо указать API:
Initial URL
- URL API;URL
- заполняется пользователем вручную;Method name
- заполняется пользователем вручную в режиме Manual, в остальных случаях подгружается системой.
Доступны несколько способов:File
– с помощью кнопки "Select" необходимо указать путь к локальному YAML / JSON файлу;Manual
– вручную ввести URL (URL сервиса абсолютный, не меняется от стенда к стенду, настраивается на istio, нельзя указывать из контекста) иMethod name
;- при данном способе указания API доступен ручной ввод инпут данных в разделе "Input Parameter List".
Переключатель "Output Parameters Mapping" можно перемещать в следующие положения:Direct Mapping
- ожидается получение map-файла с автоматичесикм маппингом, настройка "Out Parameter List" недоступна;Mapping by Expression
- ручной маппинг через настройку "Out Parameter List".
ПримерПример type=yml{ "messageName": "conversionIntermediateMessageName", "payload": { "fio": "ФИО", "address": { "street": "Улица", "buildNumber": 00 } }, }
-
В блоке "HTTP Header List" можно изменить, добавить, удалить заголовки запросов редактируя параметры:
Name
;Value
.
-
В блоке "Input Parameter List" можно изменить, добавить, удалить входные параметры:
Параметр Описание NameИмя входного параметра TypeТип параметра (значение оборачивается в CDATA в bpmn-файле). Этот параметр не используется в рантайме и не является обязательным Variable Name (Value/Expression)Задание константы или выражения в формате Java Expression Language для передачи этого значения в качестве входного аргумента в вызываемый метод (значение оборачивается в CDATA в bpmn-файле) In TypeТип использования входного параметра:
-path
- значение переменной подставляется в url вместо соответствующей переменной в фигурных скобках;
-query
- переменная со значением добавляется к url после знака "?";
-requestBody
- переменные, которые передаются в теле запроса в формате, написанном в столбце "Content Type" -
В блоке "Response Parameter List" - таблица с описанием возможных ответов на запрос:
Параметр Описание HTTP CodeHTTP код ответа Content TypeОписание формата содержимого, которое придет в ответе TypeОписание данных в ответе (название схемы из файла с описанием апи или список параметров с именами и типами) -
В блоке "Out Parameter List" можно изменить, добавить, удалить входные параметры:
Параметр Описание Variable NameИмя переменной контекста для сохранения полученного значения Value/ExpressionОбъект/ответ целиком (через плейсхолдер @RESULT), атрибут полученного объекта ( @RESULT.attribute
) -
В блоке "HTTP Code Error Mapping List" можно изменить, добавить, удалить маппинг BPMN ошибок на коды HTTP ошибок:
Параметр Описание BPMN ErrorКод ошибки в BPMN, на которую можно завязать логику работы ( Error Event
)HTTP CodeКод ошибки http -
В блоке "Exception Mapping List" можно изменить, добавить, удалить мапинг исключений на коды ошибок BPMN:
Параметр Описание BPMN ErrorКод ошибки в BPMN, на которую можно завязать логику работы Error/ExpressionКод\текст ошибки
Вкладка Marker
Описание вкладки описано в разделе Настройке точек мониторинга.
Вкладка Execution Listeners
Описание вкладки описано в разделе Настройке Execution Listeners.
Общее описание
JSON-RPC Task
является задачей-вызовом API.
Разработчик указывает API и сопутствующие параметры.
В нужный момент, когда задача должна быть выполнена, данный API вызывается в соответствии с заданными параметрами и выбранной (либо дефолтной) политикой повторных вызовов.Графическая нотация
Задача вызова стороннего API – "JSON-RPC Task"
обозначается как прямоугольник со скругленными краями и двоеточием внутри фигурных скобок в левом верхнем углу:
Увеличить
В Палитре этот элемент находится в папке "Tasks" и выглядит следующим образом:

Увеличить
XML представление
task type=xml<bpmn2:task id="bc2a7f47-cfe3-4797-b7af-284b1b5ef772" sbt:sbtType="com.sbt.bpms.modeler.plugin.marker.JsonRpcTask" sbt:url="http://127.0.0.1:3000/examplePost" sbt:initialUrl="http://127.0.0.1:3000/examplePost" sbt:methodName="examplePost" sbt:retryPolicyModelId="2" sbt:retryPolicyModelDescription="MyService policies" sbt:timeout="PT10S" sbt:outputMapping="expression" sbt:apiSource="file" sbt:payloadType="map" name="New Task"> <bpmn2:extensionElements> <sbt:inputParamList> <sbt:inputParam xsi:type="sbt:InputParam" sbt:id="39be5c47-a5e3-4b52-9300-cafe95407d28"> <sbt:name>method</sbt:name> <sbt:type xsi:type="sbt:Value" text="required string"><![CDATA[required string]]></sbt:type> <sbt:variableName xsi:type="sbt:Value" text="value1"><![CDATA[value1]]></sbt:variableName> </sbt:inputParam> <sbt:inputParam xsi:type="sbt:InputParam" sbt:id="8333c31e-ea36-4b6a-8246-ba573877ccce"> <sbt:name>id</sbt:name> <sbt:type xsi:type="sbt:Value" text="required integer (int32)"><![CDATA[required integer (int32)]]></sbt:type> <sbt:variableName xsi:type="sbt:Value" text="value2"><![CDATA[value2]]></sbt:variableName> </sbt:inputParam> <sbt:inputParam xsi:type="sbt:InputParam" sbt:id="a88f9aeb-79ef-44a5-80b8-a28f0e07365b"> <sbt:name>jsonrpc</sbt:name> <sbt:type xsi:type="sbt:Value" text="required string"><![CDATA[required string]]></sbt:type> <sbt:variableName xsi:type="sbt:Value" text="value3"><![CDATA[value3]]></sbt:variableName> </sbt:inputParam> <sbt:inputParam xsi:type="sbt:InputParam" sbt:id="fda36e72-6e99-4a13-a212-a664261be1fb"> <sbt:name>params</sbt:name> <sbt:type xsi:type="sbt:Value" text="required object (jsonParam: required integer)"><![CDATA[required object (jsonParam: required integer)]]></sbt:type> <sbt:variableName xsi:type="sbt:Value" text="value4"><![CDATA[value4]]></sbt:variableName> </sbt:inputParam> </sbt:inputParamList> <sbt:httpHeaderList> <sbt:httpHeader xsi:type="sbt:HTTPHeader" sbt:id="b4e448dc-db57-4f2b-ad4c-bb589d4363c7"> <sbt:name>Content-Type</sbt:name> <sbt:value>application/json</sbt:value> </sbt:httpHeader> </sbt:httpHeaderList> <sbt:outputParamList> <sbt:outputParam xsi:type="sbt:OutputParam" sbt:id="fb6788ae-d808-4f4e-968a-2823c5e03175"> <sbt:variableName xsi:type="sbt:Value" text="output"><![CDATA[output]]></sbt:variableName> <sbt:expression xsi:type="sbt:Value" text="@RESULT"><![CDATA[@RESULT]]></sbt:expression> </sbt:outputParam> </sbt:outputParamList> <sbt:httpCodeErrorMappingList> <sbt:httpCodeErrorMapping xsi:type="sbt:HTTPCodeErrorMapping" sbt:id="a8770405-3f83-484f-a4eb-af783c0a0c63"> <sbt:bpmnErrorCode>bpmn_error</sbt:bpmnErrorCode> <sbt:httpCode>http_code</sbt:httpCode> </sbt:httpCodeErrorMapping> </sbt:httpCodeErrorMappingList> <sbt:exceptionErrorMappingList> <sbt:exceptionErrorMapping xsi:type="sbt:ExceptionErrorMapping" sbt:id="d016fae5-97b4-4260-b7da-999a1635f41f"> <sbt:bpmnErrorCode>bpmn_error</sbt:bpmnErrorCode> <sbt:exceptionName xsi:type="sbt:Value" text="exception"><![CDATA[exception]]></sbt:exceptionName> </sbt:exceptionErrorMapping> </sbt:exceptionErrorMappingList> </bpmn2:extensionElements> </bpmn2:task>
Вкладка General
Описание вкладки см. в разделе Вкладка General статьи о свойствах элементов.
Вкладка Properties

Увеличить
-
В блоке "Select API" необходимо указать API.
Параметр Описание Initial URLURL API URLЗаполняется пользователем вручную Method nameЗаполняется пользователем вручную в режиме Manual, в остальных случаях подгружается системой Доступны несколько способов:File
– с помощью кнопки "Select" необходимо указать путь к локальному YAML / JSON файлу;Manual
– вручную ввести URL (URL сервиса абсолютный, не меняется от стенда к стенду, настраивается на istio, нельзя указывать из контекста) иMethod name
(при данном способе указания API доступен ручной ввод инпут данных в разделе "Input Parameter List").
-
В блоке "Retry Policy" необходимо выбрать или задать политику повторных вызовов сервисов. Подробнее см. в разделе Retry Policy.
-
Переключатель "Output Parameters Mapping" можно перемещать в положения:
Direct Mapping
- ожидается получение map-файла с автоматичесикм маппингом, настройка "Out Parameter List недоступна";Mapping by Expression
- ручной маппинг через настройку "Out Parameter List".
Пример type=yml{ "messageName": "conversionIntermediateMessageName", "payload": { "fio": "ФИО", "address": { "street": "Улица", "buildNumber": 00 } }, }
-
В блоке "HTTP Header List" можно изменить, добавить, удалить заголовки запросов редактируя параметры:
-
Name
; -
Value
. -
В блоке "Input Parameter List" можно изменить, добавить, удалить входные параметры:
Параметр Описание NameИмя входного параметра TypeТип параметра. Поддерживаются строки, числа, массивы данных (array), json, dto. Этот параметр не используется в рантайме и не является обязательным Variable Name (Value/Expression) - Value/ExpressionКонстанта или выражение (доступно использование JUEL) -
В блоке "Out Parameter List" можно изменить, добавить, удалить входные параметры:
Параметр Описание Variable NameИмя переменной контекста для сохранения полученного значения Value/ExpressionОбъект/ответ целиком (через плейсхолдер @RESULT
), атрибут полученного объекта (@RESULT.attribute
) -
В блоке "HTTP Code Error Mapping List" можно изменить, добавить, удалить мапинг ошибкок протокола:
Параметр Описание BPMN ErrorКод ошибки в BPMN, на которую можно завязать логику работы ( Error Event
)HTTP CodeКод ошибки http -
В блоке "Exception Mapping List" можно изменить, добавить, удалить мапинг исключений на коды ошибок BPMN:
Параметр Описание BPMN ErrorКод ошибки в BPMN, на которую можно завязать логику работы Error EventКод Error Event
Error/ExpressionКод\текст ошибки
Вкладка Marker
Описание вкладки описано в разделе Настройке точек мониторинга.
Вкладка Execution Listeners
Описание вкладки описано в разделе Настройке Execution Listeners.