Skip to content

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

@khalilmalla95

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

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions