External Approval Gate
The External Approval gate blocks until the attached change ticket is approved or rejected. Change ticket can also be automatically created by External Gate is Create Ticket is checked. Change Ticket can be defined per Project/Package combination or single for all Project/Packages in Snapshot. User must enter Change Ticket as necessary on Stage Execution Information if Create Ticket is not checked. Change Ticket can also be set using Custom Gate if necessary.
Additionally, this gate also creates a task for the group members of the associated pipeline role, which allows for override of gate if necessary.
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). |
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 propagate 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.
// Initial Stage in a Custom Gate
CMS_TICKET = stgexecinfo.getRelatedTicket()
// Subsequent Stage in a Custom Gate
stgexecinfo.setRelatedTicket(CMS_TICKET)
- style