How to block an issue transition
If you want the status of a work item to be unchangeable until the approval path is finished, you need to:
edit the workflow in your project to restrict the ability to change status to only a specific user or group,
add an automation rule that will transfer work items' status to “done”,
add a webhook step to an approval path.
You can give permission to transfer the status of an issue to the admin, or you can create a new user only for this purpose.
Workflow settings depend on project type.
Company-managed project
Go to Project Settings → workflows
Edit workflow
Add a new status. For example, it can be “In approval”
You can allow all statuses to transition to this one or allow only chosen ones
Add transition - from “In approval” to “Done”
Add a rule “restrict who can move an issue”
Choose groups and the desired group, in our case, “system-administrators”, and click “Add”
Add another automation rule “Approval Path - Block transition until approval”
Choose the definition for allowing a work item transition to “Done” only if it’s approved with that definition, and click the “Add” button.
Update workflow.
Add an automation rule that will change the status of an issue to “Done”, when an approval path is finished.
Add a webhook step to an approval path definition. In our example, a webhook step will be the last step.
Team managed project
Go to project settings → work types and choose the required one.
Click “edit workflow”
Choose “Add status” and name it - in our example, “In approval”, and choose the category “In progress”
Add transition to “in approval” status
Select from status “in approval” to status “done”
Add a rule to transition. First, click on transition, and next click on add rule.
Select “restrict who can move an issue”
Choose who can change the status of a work item; it can be a user or a group. Update workflow.
Add an automation rule that will change the status of an issue to “Done”, when an approval path is finished.
Add a webhook step to an approval path definition. In our example, a webhook step will be the last step.