Camunda rest api - retrieve a list of external tasks definitions for a specific process definition


#1

Hello,

I was wondering if there is a way to use the rest api of camunda to retrieve information(definition) about the external tasks which are being used on a specific bpmn process?

From a first look it seems that I can only retrieve external tasks which are “active”, but I actually need something similar to the ‘/process-definition’ api which returns details about a process ( I just need this for external tasks as well ).

I need the information for Read purposes, being able to show information about every (latest version) process definition and its related external tasks definitions.


#2

Hi,

this seems to fit your requirements:

https://docs.camunda.org/manual/7.6/reference/rest/external-task/post-query/

processInstanceId - Filter by the id of the process instance that an external task belongs to.
|processDefinitionId - Filter by the id of the process definition that an external task belongs to.


#3

Hello,

Sadly I am constantly getting an empty array as result the same way I did for the GET request.
I also tried the “active” property but it didnt help either ( even without using the Id query ).

The problem is that those api’s seem to retrieve only active tasks ( I launched a process to verify that ).

Is it possible that there is actually no way to retrieve the definition information?
I actually only need the “topic name” property of each external task on each bpmn workflow which I deployed ( latest versions ).

I was thinking I could achieve that with ~2 api calls ( first get process definitions, then look for external tasks for each process definition id ).


#4

sorry i misunderstood your question, thinking you are talking about runtime.
How about workaround you get xml via rest /process-definition/{id}/xml and then parse xml by querying external tasks nodes and attributes you need?


#5

Actually in the end I did something of this sort with a minor difference of already having the bpmn files embedded to my projects, so I transformed the xml structure into c# classes and from there its regular c# coding.