Robot Framework Camunda
This library provides keywords for accessing camunda workflow engine. Complete REST API reference of camunda can be found here.
Please review issue board for known issues or report one yourself. You are invited to contribute pull requests.
Documentation
Keyword documentation is provided here
Installation
The library is published on pypi.org and can be installed with pip:
pip install robotframework-camunda
Running robotframework-camunda
The tests folder has example robot tests for keywords already implemented. Those tests assume you already have an
instance of camunda running.
Easiest way of running camunda is to launch with with docker:
docker run -d --name camunda -p 8080:8080 camunda/camunda-bpm-platform:run-latest
Deploy process definition
*** Settings ***
Library CamundaLibrary ${CAMUNDA_HOST}
*** Variables ***
${CAMUNDA_HOST} http://localhost:8080
${MODEL_FOLDER} ${CURDIR}/../models
*** Test Cases ***
Test deployment of a single model in 1 deployment
${response} deploy ${MODEL_FOLDER}/demo_for_robot.bpmn
Test deployment of several models in 1 deployment
${response} deploy ${MODEL_FOLDER}/demo_for_robot.bpmn ${MODEL_FOLDER}/demo_embedded_form.html
Starting a process instance
*** Settings ***
Library CamundaLibrary ${CAMUNDA_HOST}
*** Variables ***
${CAMUNDA_HOST} http://localhost:8080
*** Test Cases ***
Test starting process
#GIVEN
${process_definition_key} Set Variable demo_for_robot
# WHEN
${process_instance} start process ${process_definition_key}
Execute Task
"Executing task" bascialy means, you execute a robot task that fetches a workload from camunda, processes it and returns its workload back to camunda during completion. Main keywords involved are:
CamundaLibrary.Fetch workloadCamundaLibrary.Complete Task
*** Settings ***
Library CamundaLibrary ${CAMUNDA_HOST}
Library Collections
*** Variables ***
${CAMUNDA_HOST} http://localhost:8000
${existing_topic} process_demo_element
*** Test Cases ***
Process workload
${variables} fetch workload topic=${existing_topic}
${recent_task} Get fetch response
log Recent task:\t${recent_task}
Pass Execution If not ${recent_task} No workload fetched from Camunda
# do some processing
# create result and return workload to Camunda
${my_result} Create Dictionary lastname=Stahl
complete task ${my_result}
Authentication
Prerequisite: CamundaLibrary >= 2.0
If your Camunda Platform REST API requires authentication (it should at least in production!) then you do not need to pass the host url to CamundaLibrary during intialization. You require the Set Camunda Configuration keyword. The keyword expects a dictionary with host url and (optional) either username with password or api key with optional api key prefix. See the following example.
*** Settings ***
Library CamundaLibrary
*** Test Cases ***
Demonstrate basic auth
${camunda_config} Create Dictionary host=http://localhost:8080 username=markus password=%{ENV_PASSWORD}
Set Camunda Configuration ${camunda_config}
${deployments} Get deployments #uses basic auth now implictly
Demonstrate Api Key
${camunda_config} Create Dictionary host=http://localhost:8080 api_key=%{ENV_API_KEY} api_key_prefix=Bearer
Set Camunda Configuration ${camunda_config}
${deployments} Get deployments #uses api key implicitly
If you would pass in username+password and and API key, the API key will always be chosen over the username+password. So better leave it out for not confusing everybody.
Metadata
Release files for robotframework-camunda 2.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| robotframework-camunda-2.0.3.tar.gz | 19.1 kB | Without provenance | Details for robotframework-camunda-2.0.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| robotframework_camunda-2.0.3-py3-none-any.whl | Python 3 | none | any | Details for robotframework_camunda-2.0.3-py3-none-any.whl |
Total release size: 38.8 kB
Release files / robotframework-camunda-2.0.3.tar.gz
| Download URL | robotframework-camunda-2.0.3.tar.gz |
|---|---|
| Size | 19.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e830a1b4dd040cd40a4e616ca32cb993a181885841c02937c53639c13d9e0a82
|
|
BLAKE2b-256 checksum How to use checksums |
11b08fe43a73338f48fa0b04ac37904b41dc8abf57d60ca55c0670cbc73fc32e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.10.4
|
Release files / robotframework_camunda-2.0.3-py3-none-any.whl
| Download URL | robotframework_camunda-2.0.3-py3-none-any.whl |
|---|---|
| Size | 19.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c87906527923783a0821946a1658289964ebccf9410f29a6e35292b6580acb20
|
|
BLAKE2b-256 checksum How to use checksums |
9f1611f900cb2e2931ec72d431561645c3635d32c9614646daf9effcdff12e19
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.10.4
|
Security for robotframework-camunda 2.0.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.