The Task Assignment Listener is not getting triggered when using Update Task REST API to set assignee

Hi All,

We are using Camunda 7.5 (Community Edition). And we use the Camunda REST
API to communicate with Camunda.

Currently we have one process model with 4 tasks in it. And we use the REST
APIs to create the process instance, complete the tasks and update the task
with due date and assignee.

Everything worked well till we decided to send email to the assigned users.
We attached the create and assignment task listeners to all 4 tasks. But
what we see is when we use the Update REST API (PUT /task/{id}/) to
update assignee and due date, it assigns the task to the user but does not
call the assignment task listener.

We used the Update REST API because we don’t want to make 2 separate calls
to set the assignee and set due date

Thanks & Regards,
Sarath

@kssarath2005, I am just going off memory on this one. But pretty sure the Assignment task listener gets called when the Task is being executed/started. Have you run the process and got to when the user task is generated?

Edit: Also when are you setting the Assignee/Due Date? Is this being done after the User Task was instantiated?

Hi Stephen,

First of all thanks for your prompt reply.

The assignment listener is getting called before the task is getting created and when we assign a user to task by calling SetAssignee REST API. And create listener is getting called whenever the task is getting created as it is supposed to do.

But the assignment listener is not getting called when use the UpdateTask REST API (https://docs.camunda.org/manual/7.5/reference/rest/task/put-update/), with assignee in the input, but the task is getting assigned to the mentioned assignee in the request.

Thanks & Regards,
Sarath

Can you share a image of your BPMN with a annotation pointing to where you are doing the User Assignment? / the PUT

Hi @kssarath2005,

Your observation is correct. When you update the task by using 1, then the tasklistener is not invoked. At the moment this is the intended behavior. Feel free to create bug report 2.

To solve your problem, you could easily execute a set-assignee request 3 before you update the task by 1. By executing 3 the tasklistener is invoked.

Hi @StephenOTT and @roman.smirnov,

Thanks for your reply.

As per @roman.smirnov suggestion, I have logged a bug to Camunda - CAM-7188

Thanks & Regards,
Sarath