Camunda 8 DMN EVALUATION SPECIFIC VERSION

1.Is there any way to evaluate the specific version of DMN
2. how can we start the process instance of a specific version of process-definition?

Great questions about version-specific operations in Camunda 8! Let me address both of your questions:

1. DMN Evaluation - Specific Version

Yes, there are ways to evaluate specific versions of DMN decisions in Camunda 8:

Business Rule Task in BPMN

When using a Business Rule Task, you can control which version of the DMN is evaluated by setting the binding type:

  • latest: Always uses the latest deployed version
  • deployment: Uses the version deployed together with the current process definition
  • versionTag: Uses the latest deployed version annotated with a specific version tag

You can set the versionTag in the properties panel when linking a DMN to a Business Rule Task. Note that the version tag field currently only supports static values, not dynamic expressions or process variables.

API Evaluation

When evaluating DMN via the API, you specify the decision by its key or decision ID. With decision ID, the latest deployed version is used by default. For more precise control, you can use version tags.

Reference: Business rule tasks documentation

2. Process Instance - Specific Version

Yes, you can start process instances using specific versions of process definitions:

Using Zeebe Java Client

processInstance = zeebeClient.newCreateInstanceCommand()
  .bpmnProcessId("your-process-id")
  .version(5) // specify the desired version number
  .send();

Using REST API

curl -L 'http://localhost:8080/v2/process-instances' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
  "processDefinitionId": "order-process",
  "processDefinitionVersion": 1
}'

This approach works across all Camunda 8 client libraries (Java, Node.js, etc.) with similar patterns.

Reference: Process instance creation documentation

Summary

  • DMN: Use binding types (latest/deployment/versionTag) in Business Rule Tasks, or manage versions through deployment strategies
  • Process Instances: Specify the version number directly in your API calls or client commands

If you don’t specify a version, the latest version will be used by default in both cases.

Would you like me to elaborate on any of these approaches or help with a specific implementation scenario?

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.