Access the versionTag in a java jobworker

Hello,
We defined the process definition attribute “versionTag” as a business defined “version number” (e.g., “0.0.2. FINAL”) that documents which “process version” changed some “long term” data.

What is the easiest way to access the versionTag in a jobworker (zeebe, java client, version 8.6)?
I only found the method “job.getProcessDefinitionVersion()” which returns the version number instead.

Thanks and kind regards,
Heiko

@HeikoSpindler In v8.6, Camunda 8 Rest api (/v2/) doesn’t provide an api to retrieve the process definitions.

image

Instead you need to rely on Operate api (/v1/process-definitions/:key) which will provide you the versionTag information.

From v8.7 onwards Camunda 8 Rest api (/v2/resources/:resourceKey) provides an Get Resource api to retrieve versionTag details.

@HeikoSpindler Assuming you’re using Camunda’s official Java client (@camunda/zeebe-client-java)

import io.camunda.zeebe.client.api.response.ActivatedJob;
import io.camunda.tasklist.ProcessApi;
import io.camunda.tasklist.dto.ProcessDto;

public class MyWorker implements JobHandler {

    private final ProcessApi processApi;

    public MyWorker(ProcessApi processApi) {
        this.processApi = processApi;
    }

    @Override
    public void handle(JobClient client, ActivatedJob job) throws Exception {
        long processDefinitionKey = job.getProcessDefinitionKey();

        // Fetch process definition by key
        ProcessDto process = processApi.getProcess(processDefinitionKey);

        String versionTag = process.getVersionTag();  // ← Here you get it
        System.out.println("Version tag: " + versionTag);

        // Continue job logic...
    }
}