I hope you are doing well.
Following this post, handling status-based variables is important (between External task and Engine). So we have some ideas for sending new variables from the External task client to the Engine via dedicated method.
The main goal is to moderate some fields (like Progress and etc) between External tasks and Engine which is used periodically (for example we have a job like recording video that length too long. it should be done with an External Task. as it is a very long process, I need a notify progress that shows how much of the video is recorded).
As we describe the point, it will be like a specific method for sending status-based params to the Engine.
According to your contribution structure, the idea is under category.
We have developed the main module according to the below details.
As @jonathan.lukas (Camunda Consultant) has described, we added a new variable (like varName=progressVar) in this api :
and we could get ProcessInstanceId by externalTask.getProcessInstanceId() method.
Following the rules, we think that it could be a specific method (it would be developed on client-side like External Task or Services) related to sending progress value to the engine. we have developed the below method for this reason.
It's our pleasure if we can help you with developing the module.
According to the post, it could be such a necessary feature that would be helpful for users.
Let me know if it is good enough for sending a merge request (i mean "pull request") or any modification will be needed.
Thank you in advance