Your teams are experts on the processes that drive your business, so the tools they use to automate those processes shouldn’t get in their way. Camunda Cloud saves time and enhances teams’ productivity by bringing software development best practices to business process automation. 

The Camunda Cloud 1.3.0 release allows Java developers to add automated testing of BPMN process diagrams to their continuous integration and delivery (CI/CD) pipelines, thanks to an out-of-the-box solution for the popular JUnit 5 testing framework. Automated testing is a critical part of CI/CD practices because it ensures that developers get rapid feedback on the changes they make. Our new testing solution helps IT teams ensure their process design and business logic are rock-solid before process models are deployed to production, without requiring them to spend valuable time on manual testing efforts.

This release also continues our commitment to open architecture with new APIs that allow developers to investigate deployed processes, manage the configuration of analytics dashboards, and export process execution data for use in other tools and systems. These APIs make it faster and easier to extend Camunda Cloud and integrate it with day-to-day work, such as setting up reports in a new environment.

Camunda Cloud also saves time by allowing business stakeholders to get hands-on with process design. Human workflow management is a critical part of many business processes, and process designers can now design human workflows faster. Camunda Cloud 1.3.0 adds support for configuring task assignees and candidate groups when designing processes, which means tasks can be dynamically assigned to the right team when the process runs.

Finally, everyone benefits from clear, easy-to-understand process analytics, which is why we’ve extended support for Optimize to Camunda Cloud Self-Managed users.

Camunda Cloud 1.3.0 includes: 

  • Zeebe 1.3.0
  • Operate 1.3.0
  • Tasklist 1.3.0
  • IAM 1.3.0
  • Optimize 3.7.0
  • Modeler 4.12

It’s immediately available in Camunda Cloud SaaS and for download for Self-Managed users.

Testing for Java Developers

Software developers need a way to make sure that their processes and business logic are working properly as expected. To do so, it’s very common to write tests that validate the behavior. Camunda Cloud 1.3.0 provides a new solution for testing automated BPMN processes in Junit5 tests, called Zeebe Process Test. This functionality is especially geared towards Java developers, but we aim to provide further functionality for other languages in the future, too. 

The new testing solution makes developers’ lives easier when automating processes since logic can be easily validated and tested before deployment. The solution can easily be integrated into CI/CD environments. 

Once added to your Java project, it allows you to easily deploy processes, start process instances, verify that specific steps in the process have been passed, and check variables are set correctly.

To try it out, you can read Testing Processes for Camunda Cloud and Zeebe with a hands-on example by Thomas Heinrichs or follow the readme in the GitHub project

With Camunda Cloud 1.3.0, we are releasing Zeebe Java Test as a beta to allow you to give feedback before the final release. We will improve the solution further and add additional features until our next minor release. Feel free to create issues directly in the repository.

User Task Assignee and Candidate Groups

For the first time, Camunda Cloud 1.3.0 allows you to automatically assign user tasks based on properties in the BPMN process. This capability improves Camunda Cloud significantly for the human workflow orchestration use-case.

This means you can already specify assignees and candidate groups for user tasks during the design phase in the BPMN process hard-wired or flexibly with the help of FEEL expressions. These properties are then evaluated during runtime by the Zeebe Engine and passed on to Tasklist.

First, you can now use two new fields Assignee and Candidate groups in the Modeler as shown below:

When executing the process instance, you will see in the Tasklist UI that the correct user is automatically assigned to the user task as seen below. If you are using Tasklist API, you can query the new fields by using the GraphQL API.

Simply start using Assignee and Candidate groups directly in the Desktop Modeler. Discover more details about this here. We will provide support for Assignee and Candidate groups in Console Modeler over the next couple of weeks.

Optimize Available for Self-Managed Users

With Cloud 1.2.0, we made Optimize available for all Camunda Cloud SaaS users; with this release, we are making the next big step for Optimize and making it available to all of our Self-Managed users. 

This brings the power of process analytics, reports and dashboards for process improvement to all of our Camunda Cloud users. 

To get started with Optimize and your Self-Managed installation, simply follow the steps in our Installation Guide.

New APIs in Operate and Optimize

To simplify integration with other applications or workflows, we are introducing new APIs in Operate as well as in Optimize:

Process Definition API in Operate

In Operate, you will find a new REST endpoint for accessing process definitions. This allows you to query all process definitions, find a single process definition by key, and even get the BPMN XML for the process definition. 

Moving forward, we’ll further build out this REST endpoint to include historic entities like process instances, activity instances, and others. 
It’s super easy to get started with the new endpoint. You can find the technical documentation for the API under http://operate-url:operate-port/swagger-ui.html. Documentation in OpenAPI format is available under http://operate-url:operate-port/api-docs/v1.

Operate API documentation as Swagger UI
Get process definition as XML by key
Operate API in OpenAPI format

New Data Export and Report APIs in Optimize

Optimize 3.7.0 introduces two new APIs:

Firstly, new public APIs for performing Create, Read, Delete (CRD) actions on report and dashboard entities.

Here are some potential use cases:

  • Backup your dashboard and report configurations
  • Integrate Optimize into your existing analytics application, remotely making changes
  • Keep dashboards and reports in source control, gaining greater security and reliability

Secondly, Optimize 3.7.0 introduces improved mechanisms for data export from reports. A new API endpoint to extract all your data in JSON format, which is easier to process if you want to feed your Optimize data into another analytics tool or a data repository. This is available for any report that supports UI-based CSV downloads.

Find more details in the Camunda Optimize 3.7.0 blog post.

Further Improvements

New Cluster Rebalancing API in Zeebe

Rebalancing is re-electing partition leaders so they’re evenly distributed across all brokers. An even leader distribution is beneficial as all brokers share the work of being partition leaders.

Zeebe will, by default, prefer an even leader distribution when electing new leaders, but will not trigger a re-election unless a leader becomes unavailable.

When a Zeebe cluster uses an uneven leader distribution, caused by losing a leader and thus electing a suboptimal broker as a new leader for example – manually requesting rebalancing can restore the cluster to an even leader distribution.

For Camunda Cloud Self-Managed, there is a new Gateway API to rebalance a Zeebe cluster:

curl -X POST https://{zeebe-gateway}:9600/actuator/rebalance/

The Zeebe cluster will try to re-distribute partition leadership across all brokers, which will help with scalability.

Find more details and notes about limitations in the rebalancing documentation. If this is new to you, feel free to also check out Zeebe’s technical concept section in our documentation.

Secure inter-cluster communication for Zeebe

Previous versions of Zeebe already allowed secured communication between the clients and the gateway of the cluster. With Zeebe 1.3.0, it’s now also possible to secure the communication over TCP between the nodes in a cluster using TLS. 

Please find more information about the required configuration in our documentation.

Completion condition for multi-instance

Thanks to a great contribution from @Lzgabel, Zeebe now supports completion conditions for multi-instance elements. The completion condition is a boolean FEEL-expression that, when evaluated, completes the multi-instance immediately. It’s evaluated every time an instance of the multi-instance element is completed. 

You can read more about this feature in its related pull request

Right now, this feature is only available by manually editing the BPMN XML. Later on, we’ll add the property to the Modeler tracked by this issue.

How to Get It

For Camunda Cloud SaaS customers, you’ll have the ability to seamlessly update at your discretion via Console starting on Jan. 11, 2022. SaaS trials with existing clusters will remain on the older versions, while new clusters will automatically be created on 1.3.0. Lastly, our Self-Managed customers can find the new releases for Zeebe Engine, Operate, Tasklist and IAM published on GitHub and Docker. You can read more via our update guide.