Details
-
Feature Request
-
Resolution: Won't Do
-
L3 - Default
-
None
-
7.17.0
-
None
Description
User Story (Required on creation):
As an application developer using Camunda remotely, I need to be notified (in my code) when user tasks are initiated and who they are for (assignments or candidate and by user or groups).
This is one aspect of the platform that I had to write a listener for in order to make the platform "enterprise ready". (and I hacked it using a utility process and the external task) I've seen other community postings about the same type of thing.
Functional Requirements (Required before implementation):
- A platform level configuration setting to turn on/off this listener capability
- A global listener on all User Tasks
- The capturing of the ProcessDefinitionKey (name), ProcessInstanceID, UserTask ID (name), the TaskInstanceID, the Asignments, the Candidates, and the dates (task start date/time, due date/time, follow up date/time).
- API method to access the task's notification and remove from the queue.
- The custom code needs to be able to request the notification messages for
- all user task notifications across all process definitions
- all user task notifications of a particular process definition
- and all user task notifications for a specific user task ID in the BPMN
Technical Requirements (Required before implementation):
I think the best mechanism would be to store it in a queue like the external tasks are (but separate from them) and provide a method to read the notification message and clear the notification message.
An alternative could be a webhook and require the application to receive the notification. In this case, the destination for the webhook should be a property of the User task since it's possible that different applications would need to be notified for different user tasks in the BPMN process.
In each of these cases, it's assumed that the message can be picked up (or sent) once.