Customizing the Change Request - Emergency workflow to use the Approval - Coordinator activity (with multiple Child Approval - Groups and Approval - User activity) instead of the default Group - Approval activity can cause issues with approvals. When an emergency change is rejected, the approval record is set to rejected and the other approvals are set to no longer required. When approval is re-requested, some of the original records are updated to Requested and a new set of requests are also made.
Steps to Reproduce
Enable the Change Management plug-in.
For more information, see the product documentation topic Activate a plugin.
Check out and modify the Change Request - Emergency workflow and replace the existing Approval-Group activity with the Approval Coordinator activity instead.
For more information, see the documentation topic Use workflow stages.
Add multiple Child Approval - Groups and Approval - User activities to this Approval Coordinator activity.
For more information, see the documentation topic Approval Coordinator workflow activity.
Save and publish the workflow.
Navigate to Change > Create New and create a change with the Type set to emergency and save.
Set the assignment group to CAB Approval, for example, and click Request for approval.
Reject one of the approval requests and request for approval again for the CHG.
Note that when the workflow transitions to the Approval Coordinator activity again, it creates new approval requests with the state Requested but the old approval activities are set to Requested as well.
A possible workaround is as follows:
Amend the workflow and remove the "Disassociate approval records" Run Script activity.
Modify the workflow to include an IF statement before the requested authorization to check whether the change has already been rejected.
If it has been rejected, then roll back the approvals.
This workaround will then not result in the multiple approvals. However, you will lose any approval history once the change is sent for approval again. Note that this will not affect the activity records for the change and the rejection will still be reflected in the activity list.
The following illustration shows the suggested workaround.
Related Problem: PRB904888