SAP HCI / CPI Cloud Platform Integration support

Is it possible to modify / extend / create plugin for support SAP Cloud Platform Integration?
Is it possible to modify camunda to support different bpmn 2 model, add items on toolbar and customize deployment ?

1 Like

Is it possible to modify / extend / create plugin for support SAP Cloud Platform Integration?

Do you mean in terms of deploying processes to SAP Cloud?

Is it possible to modify camunda to support different bpmn 2 model

What do you mean by that, can you be a bit more specific?

add items on toolbar

yes, this is available via client extensions. You can read about that this blog post (Extension Point for UI Plugins)

customize deployment

that’s currently not possible.You would need to implement your own deployment functionality, e.g. by a client extension

1 Like

I mean Design a process directly with Camunda and deploy it on Sap CPI.
CPI has some bpmn 2 customization with specialized object for connectors, scripts, conversions, I want to add them on list of standard camunda objects to use them on design.
I will read extension documentation for UI
I can deploy by API requests, so if I create a client extension I can deploy on different server than camunda?

Thank for answer.

CPI has some bpmn 2 customization with specialized object for connectors, scripts, conversions, I want to add them on list of standard camunda objects to use them on design

This also possible by extending the moddle descriptors via a plugin. This and this might be helpful.

I can deploy by API requests, so if I create a client extension I can deploy on different server than camunda?

Correct! Feel free to ask specifically if you need help with this. You can have a look at how the deployment tool is built for inspiration.

We would be very interested if you came up with a solution for that :+1:

feel free to contact me by telegram @Bais73 or on a new channel https://t.me/sap_hci

I saw documentation but it’s not for complete with a tutorial to understand all passages, I’ve installed plugins but they stay on Grey.
I f you want we can chat and fix some points together, after that I will continue alone.

@Federico_Bellizia why do you not want to use the editors that come with cpi ?

About 60 open points, but I already wrote to CPI Developers a lot of time and they just put some on road, they passed from offline Eclipse plugin editor to WebUi editor, this change changed our production time of new workflow about 10 times slowly. We asked for 2 years to leave Eclipse Plugin on opensource community so we can update it but they replay : SAP doesn’t release any source of product, so the alternative is to use a product opensource like Camunda to edit a BPMP 2 and deploy it instead using it.
The FIRST point of 60 : 1) IDE without copy/paste/undo system is a nightmare of developing.

So immagine our frustration, we give all solutions and alternative on our thread, we are not just trolling, we studied other products like best one Boomi and other like Talent. We are using camunda on backend and it’s normally to think we can use on Integration too.

After this motivation, do you have some help to improve this thread?

1 Like

Well basically you need to extend the modeler with your custom objects and custom XML definition. (Not a 5 min job). But lots of people on forum.bpmn.io discuss various use cases such as this.

Are all of the actions you want to perform in the Bpmn, available through a rest/ some sort of API? May be easier to build API wrappers then try and manage interop with their XML. (Depending on the weirdness of their XML compared to the API usage and available clients)

This ? bpmn-js-examples/custom-elements at main · bpmn-io/bpmn-js-examples · GitHub

There is deploy api and I can use it to deploy package with flow directly on tenant.

API Documentation:

Get an integration flow by Id and version.

You can use the following request to get an integration flow of designtime by Id and version. Further details can be found in the blog Remote OData APIs for Integration Flows.

curl --request POST --url “https://sandbox.api.sap.com/cpi/api/v1/IntegrationDesigntimeArtifacts” --header “APIKey: <API_KEY>” --header “Accept: application/json” --header “Content-Type: application/json” --header “X-CSRF-Token: string”

Get an integration flow by Id and version.

You can use the following request to get an integration flow of designtime by Id and version. Further details can be found in the blog Remote OData APIs for Integration Flows.

curl --request GET --url “https://sandbox.api.sap.com/cpi/api/v1/IntegrationDesigntimeArtifacts(Id=’’’{Id}’’’,Version=’’’{Version}’’’)” --header “APIKey: <API_KEY>” --header “Accept: application/json” --header “Content-Type: application/json”

Delete an integration flow.

You can use the following request to delete an integration flow from designtime. Further details can be found in the blog Remote OData APIs for Integration Flows.

curl --request DELETE --url “https://sandbox.api.sap.com/cpi/api/v1/IntegrationDesigntimeArtifacts(Id=’’’{Id}’’’,Version=’’’{Version}’’’)” --header “APIKey: <API_KEY>” --header “Accept: application/json” --header “Content-Type: application/json” --header “X-CSRF-Token: string”

Download an integration flow as zip file.

You can use the following request to download an integration flow of designtime as zip file. Integration flows of configure-only packages cannot be downloaded. Further details can be found in the blog Remote OData APIs for Integration Flows.

curl --request GET --url “https://sandbox.api.sap.com/cpi/api/v1/IntegrationDesigntimeArtifacts(Id=’’’{Id}’’’,Version=’’’{Version}’’’)/$value” --header “APIKey: <API_KEY>” --header “Accept: application/json” --header “Content-Type: application/json”

Deploy an integration flow.

You can use the following request to deploy an integration flow of designtime. Further details can be found in the blog Remote OData APIs for Integration Flows.

curl --request POST --url “https://sandbox.api.sap.com/cpi/api/v1/IntegrationDesigntimeArtifact.DeployIntegrationDesigntimeArtifact?Id=string&Version=string” --header “APIKey: <API_KEY>” --header “Accept: application/json” --header “Content-Type: application/json” --header “X-CSRF-Token: string”


For all API REST there are code snipped in various languages, javascript could be useful (because camunda use nodejs on plugins)

I must to create a “Plugin configuration” with authentication informations and next an “Import” function to download from list of deployed object “Create iFlow” for create a ne sap cpi project and, “Deploy iFlow” for send it on server.

When I use Camunda to load iFlow from CPI it showed me with “standard” elements without all properties they are setting, but basically they are compatible.

I want to improve Item list of camunda to support adapter and items of this bpmn

And example:

the iFlow:

Test Camunda.iflw.xml (21.3 KB)

The Manifest:

MANIFEST.MF.txt (2.4 KB)

The package with workflow structure is:

Test Camunda> dir -s

Directory: C:\Users\testuser\Downloads\Test Camunda

Mode LastWriteTime Length Name


d----- 29/02/2020 19:07 META-INF
d----- 29/02/2020 19:04 src
-a---- 29/02/2020 19:04 484 .project
-a---- 29/02/2020 19:04 134 metainfo.prop

Directory: C:\Users\testuser\Downloads\Test Camunda\META-INF

Mode LastWriteTime Length Name


-a---- 29/02/2020 19:04 2494 MANIFEST.MF

Directory: C:\Users\testuser\Downloads\Test Camunda\src

Mode LastWriteTime Length Name


d----- 29/02/2020 19:04 main

Directory: C:\Users\testuser\Downloads\Test Camunda\src\main

Mode LastWriteTime Length Name


d----- 29/02/2020 19:04 resources

Directory: C:\Users\testuser\Downloads\Test Camunda\src\main\resources

Mode LastWriteTime Length Name


d----- 29/02/2020 19:04 scenarioflows
-a---- 29/02/2020 19:04 30 parameters.prop
-a---- 29/02/2020 19:04 82 parameters.propdef

Directory: C:\Users\testuser\Downloads\Test Camunda\src\main\resources\scenarioflows

Mode LastWriteTime Length Name


d----- 29/02/2020 19:05 integrationflow

Directory: C:\Users\testuser\Downloads\Test Camunda\src\main\resources\scenarioflows\integrationflow

Mode LastWriteTime Length Name


-a---- 29/02/2020 19:04 21825 Test Camunda.iflw


I know it’s not a 5 minutes operation, but I already used camunda to check xml integrity and it worked well.