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.