The External Approval gate creates a task for the group members of the associated pipeline role, links it to the Change Management System configured on the release, and blocks until the change ticket attached to the pipeline execution is approved or rejected.
Field | Description |
---|---|
Gate Name | The name of the gate. |
Description | An optional description for the gate. |
Approval Role | The pipeline role which is allowed to approve or reject the gate in FlexDeploy outside of the Chanage Management System. Provides mitigation in event that CMS is unavailable for any reason. Approval tasks are created for the group members of this role, and will be automatically approved or rejected based on the status of the associated ticket. If no group member is assigned to the role, the task is assigned to a group designated as a FlexDeploy Administrator. |
Precondition | An optional Groovy script which determines whether the gate or step is applicable during execution. The script has access to variables and methods listed in Pipeline Groovy Variables and Methods. You can find these variables methods using Variable Lookup help. The script must return true if the gate is applicable, or false otherwise. If no script is provided, the default is to return true (applicable). |
CMS Instance | The Change Management System instance to use for this external gate. |
Create Ticket | Determines whether to automatically create a CMS ticket when this gate is reached. If unchecked, it is expected that the related ticket field for either the stage or the individual projects/packages is populated (either manually by the user or through a Custom Gate). The default value for this field is initialized from the global configuration. |
Scope | Only applies when Create Ticket is checked. Determines the scope for setting created ticket number. If scope is Stage, the related ticket field of the stage is updated to the created ticket number. If scope is Project/Package, a ticket will be created or each project/package in the snapshot and the corresponding related ticket field is updated. |
<Ticket Fields> | Only applies when Create Ticket is checked. Used to set the values of individual ticket fields when creating a ticket. By default, the ticket field mapping comes from the global configuration. Click Override settings to override for the gate, or Revert to defaults to reset to the mappings from the global configuration. The ticket fields values are Groovy Expressions, so any literal String must be placed in double quotes. Variables available to the expressions are:
1 Variables are only applicable when the ticket scope is Project/Package |
One common use case is to propogate the ticket number entered or created in one stage across into future stage(s) to avoid duplicate effort. This can be implemented by having a snapshot variable (e.g. CMS_TICKET) on the pipeline to hold the ticket, and a custom gate after the external approval gate to store the ticket number into the variable. The future stage can use another Custom Gate to set the related ticket from the value of the snapshot variable.
CMS_TICKET = stgexecinfo.getRelatedTicket()
stgexecinfo.setRelatedTicket(CMS_TICKET)
- style