The purpose of this page is to describe different methods that can be used to include a custom BPMN workflow to ONAP SO (Casablanca Release)
...
- This method is useful in case you need to include some script files in your deployment.
- Specify Script format (JavaScript, groovy,..).
- Specify Script type as "External Script" in your script task.
- Refer to the script name using URI "deployment://{{script_file_name}}".
Use below cURL command to deploy the BPMN file and its associated scripts to your running ONAP instance
curl -w \
-H "Accept: application/json" \
-F "deployment-name=rest-test" \
-F "enable-duplicate-filtering=false" \
-F "deploy-changed-only=falses" \
-F "ExternalScript.bpmn=@/PATH_TO_BPMN_File/ExternalScript.bpmn" \
-F "externalScript.js=@/PATH_TO_SCRIPT_File/externalScript.js" \
http://{{onap_LB@}}:{{camunda_Pod_Port}}/sobpmnengine/deployment/create
- Use the Camunda cockpit application to view your custom workflow.
Running the custom workflows
You can run the workflow directly using below URI
http://{{onap_LB@}}:{{camunda_Pod_Port}}/sobpmnengine/process-definition/key/{{BPMN_NAME}}/start |
---|
The above link will bypass the API handler and run the required workflow directly.
...
For example below, you can see in the screenshot how a custom workflow is added and linked to a specific service model in the SO service_recipe table.
Where are the BPMN workflows in SO ?
If you check the camunda database schema here https://docs.camunda.org/manual/latest/user-guide/process-engine/database/
The process definitions are in the act_re_procdef table in camunda db:
Inside so-bpmn-infra /app/app.jar, if we follow the path from the table above, we can find all the bpmn, e.g. BOOT-INF/classes/process/CreateVfModuleInfra.bpmn, as shown in the screenshot below.