1. Go to this page and download the library: Download devoceanlt/camunda library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
use DevOceanLT\Camunda\Http\ProcessDefinitionClient;
$variables = ['title' => ['value' => 'Sample Title', 'type' => 'string']];
// Start new process instance
$instance = ProcessDefinitionClient::start(key: 'process_1', variables: $variables);
// Start new process instance with some business key
$instance = ProcessDefinitionClient::start(key: 'process_1', variables: $variables, businessKey: 'somekey');
// Get BPMN definition in XML format
ProcessDefinitionClient::xml(key: 'process_1');
ProcessDefinitionClient::xml(id: 'process_1:xxxx');
// Get all definition
ProcessDefinitionClient::get();
// Get definitions based on some parameters
$params = ['latestVersion' => true];
ProcessDefinitionClient::get($params);
use DevOceanLT\Camunda\Http\ProcessInstanceClient;
// Find by ID
$processInstance = ProcessInstanceClient::find(id: 'some-id');
// Get all instances
ProcessInstanceClient::get();
// Get instances based on some parameters
$params = ['businessKeyLike' => 'somekey'];
ProcessInstanceClient::get($params);
ProcessInstanceClient::variables(id: 'some-id');
ProcessInstanceClient::delete(id: 'some-id');
use DevOceanLT\Camunda\Http\TaskClient;
$task = TaskClient::find(id: 'task-id');
$tasks = TaskClient::getByProcessInstanceId(id: 'process-instance-id');
TaskClient::submit(id: 'task-id', variables: ['name' => ['value' => 'Foo', 'type' => 'String']]); // will return true or false
$variables = TaskClient::submitAndReturnVariables(id: 'task-id', variables: ['name' => ['value' => 'Foo', 'type' => 'String']]) // will return array of variable
use DevOceanLT\Camunda\Http\TaskHistoryClient;
$completedTask = TaskHistoryClient::find(id: 'task-id');
$completedTasks = TaskHistoryClient::getByProcessInstanceId(id: 'process-instance-id');
use DevOceanLT\Camunda\Http\DeploymentClient;
// Deploy bpmn file(s)
DeploymentClient::create('test-deploy', '/path/to/file.bpmn');
DeploymentClient::create('test-deploy', ['/path/to/file1.bpmn', '/path/to/file2.bpmn']);
// Get deployment list
DeploymentClient::get();
// Find detailed info about some deployment
DeploymentClient::find($id);
// Truncate (delete all) deployments
$cascade = true;
DeploymentClient::truncate($cascade);
// Delete single deployment
DeploymentClient::delete(id: 'test-deploy', cascade: $cascade);