Skip to content

Add BPMN process validation for camunda:versionTag placeholder usage #41

Description

@khalilmalla95

Problem

The linter does not currently validate the camunda:versionTag attribute on BPMN <process> elements.

In DSF process plugins, the expected value is:

camunda:versionTag="#{version}"

At the moment, invalid values are not reported.

Expected validation behavior

Please add a BPMN process-level validation with the following rules:

  • ERROR if camunda:versionTag is missing
  • ERROR if camunda:versionTag is empty
  • ERROR if camunda:versionTag is set to null
  • WARN if camunda:versionTag is present but does not use the placeholder #{version}

Examples

Valid:

<bpmn:process id="example_process" isExecutable="true" camunda:versionTag="#{version}">

Should produce ERROR:

<bpmn:process id="example_process" isExecutable="true">
<bpmn:process id="example_process" isExecutable="true" camunda:versionTag="">
<bpmn:process id="example_process" isExecutable="true" camunda:versionTag="null">

Should produce WARN:

<bpmn:process id="example_process" isExecutable="true" camunda:versionTag="1.0.0">
<bpmn:process id="example_process" isExecutable="true" camunda:versionTag="some-fixed-version">

Suggested lint types

To align with the existing naming style in LintingType:

  • BPMN_PROCESS_VERSION_TAG_MISSING_OR_EMPTY
  • BPMN_PROCESS_VERSION_TAG_NO_PLACEHOLDER

with "null" handled as part of the missing/empty validation.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

Fields

No fields configured for Task.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions