Currently you can only detect a status on a task, but not set it by field conditions.
Basic idea behind that:
We have three groups working together:
One is responsible for validating incoming tasks - Duty: "Issue navigation"
The second one is fixing issues, inside the repository - Duty: "Coding"
The third one is meant to be a quality control instance, to make sure the code does on the target machine that had the initial issue.
However, for this to work, the restriction on repository commits, leading to "always closed" tasks, results in a requirement to move it out of the "resolved" state into another open state for the quality control team. (While on some projects, its okay, and wanted that the tasks are closed when a commit has occured.)
I assume a changed status on a task by herald, could even auto-reject tasks that break some productions rules or alike.
Related to: T7849 (description there)