Camunda


https://www.youtube.com/watch?v=XSlSk8hBtVs&list=PLIGDNOJWiL1-bKGF5lSfRDL4sIkkNI9kg


https://camunda.com/download/modeler/


$ git clone [email protected]:tkssharma/Camunda-for-Beginners.git
$ cd Camunda-for-Beginners/
$ docker-compose up


// demo / demo
http://localhost:8080/camunda/
// Deployment
// POST
$ curl \
    -F "files=@/tmp/diagram_deployment.bpmn" \
    --header "Content-Type: multipart/form-data" \
    --request POST \
    --url "http://localhost:8080/engine-rest/deployment/create" \
    | jq


response:

{
  "links": [
    {
      "method": "GET",
      "href": "http://localhost:8080/engine-rest/deployment/48f1d6b0-f618-11ed-ac96-0242ac140003",
      "rel": "self"
    }
  ],
  "id": "48f1d6b0-f618-11ed-ac96-0242ac140003",
  "name": null,
  "source": null,
  "deploymentTime": "2023-05-19T07:39:28.181+0000",
  "tenantId": null,
  "deployedProcessDefinitions": {
    "deployment-test:1:48f38462-f618-11ed-ac96-0242ac140003": {
      "id": "deployment-test:1:48f38462-f618-11ed-ac96-0242ac140003",
      "key": "deployment-test",
      "category": "http://bpmn.io/schema/bpmn",
      "description": null,
      "name": null,
      "version": 1,
      "resource": "diagram_deployment.bpmn",
      "deploymentId": "48f1d6b0-f618-11ed-ac96-0242ac140003",
      "diagram": null,
      "suspended": false,
      "tenantId": null,
      "versionTag": null,
      "historyTimeToLive": 50,
      "startableInTasklist": true
    }
  },
  "deployedCaseDefinitions": null,
  "deployedDecisionDefinitions": null,
  "deployedDecisionRequirementsDefinitions": null
}


// Start BPMN
// POST
$ curl \
    --data '{
      "task":"Quake 2"
      }' \
    --header "Content-Type: application/json" \
    --request POST \
    --url http://localhost:8080/engine-rest/process-definition/key/deployment-test/start \
    | jq


response:

{
  "links": [
    {
      "method": "GET",
      "href": "http://localhost:8080/engine-rest/process-instance/926df123-f618-11ed-ac96-0242ac140003",
      "rel": "self"
    }
  ],
  "id": "926df123-f618-11ed-ac96-0242ac140003",
  "definitionId": "deployment-test:1:48f38462-f618-11ed-ac96-0242ac140003",
  "businessKey": null,
  "caseInstanceId": null,
  "ended": false,
  "suspended": false,
  "tenantId": null
}


// Каким-то способом можно передать параметры
// JSON
{
  "variables": {
    "someData": {
      "value": "someValue",
      "type": "String"
    }
  },
  "businessKey": "12345"
}