Notification Step

The Notification step sends an custom email notification to the user, group, or email address configured on the step.  The email is sent using the configured mail server on the Administration - System Settings menu.


Field

Description

Step Name

The name of the step.

Description

An optional description for the step.

Pipeline RolesSelects one or more roles from the pipeline definition to notify in case of error.  Default role members are defined on the pipeline, and optional overridden for each release.
SubjectThe subject line for the email notification.  Optionally, use a Groovy expression to make this field dynamic based on some contextual value (e.g. a property defined on the pipeline, and specified on the release).
Message

The body for the email notification.  Optionally, use a Groovy expression to make this field dynamic based on some contextual value (e.g. a property defined on the pipeline, and specified on the release).

Following methods were added as part of 5.0.0.2.

Body to contain details on individual Project deployment status
"<br/>" + 
"<b>Deployed Projects</b> : " + FD_Release.getSnapshotDeployedProjectsAsString() + "<br/>" + 
"<b>Failed Projects</b> : " + FD_Release.getSnapshotFailedProjectsAsString() + "<br/>" + 
"<b>Skipped Projects</b> : " + FD_Release.getSnapshotSkippedProjectsAsString() + "<br/>" + 
"<b>Not Attempted Projects</b> : " + FD_Release.getSnapshotNotAttemptedProjectsAsString()
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 the expression  drop-down.  The script must return true if the gate/step is applicable, or false otherwise.  If no script is provided, the default is to return true (applicable).

ContinueIf checked, any failure will be ignored, and the pipeline execution will continue.
Notify Pipeline RoleSelects one or more roles from the pipeline definition to notify in case of error.  Default role members are defined on the pipeline, and optional overridden for each release.

Script Variables

Optionally, a Groovy script can be written for any Subject, Message, and Precondition fields. The script has access to the following variables and methods listed in the expression  drop-down.

Variable

Description

ReleaseName

Name of the release provided when created
SnapshotNameName of the snapshot (auto generated by date and time when created)
SnapshotDuplicateFilesFlagTrue if there are duplicate files in the snapshot
SnapshotDescriptionDescription of the snapshot
StageExecutionId

ID of the execution

Methods for FD_Release variable.

Method

Description

FD_Release.areAllProjectsDeployed()returns true if all projects in snapshot are deployed
FD_Release.areAllProjectsDeployed(groupName)returns true if all projects in a specific group are deployed
FD_Release.areAllUtilitySuccessful()returns true if all utility workflows were successful
FD_Release.areAllUtilitySuccessful(groupName)returns true if all utility workflows in a specific group were successful
FD_Release.getEnvironmentCode()returns environment code
FD_Release.getReleaseName()returns the name of the release
FD_Release.getProjectStageExecution(projectId, packageName)returns ProjectStageExecution given a project ID and package name
FD_Release.getProjectStageExecution(projectName, packageName)returns ProjectStageExecution given a project name and package name
FD_Release.getSnapshotName()returns the name of the snapshot
FD_Release.getSnapshotProjects()returns the projects in the snapshot
FD_Release.getSnapshotProjectsAsString()returns all project names in snapshot concatenated in the format "ProjectName, PartialProjectName (PackageName), ..."
FD_Release.getSnapshotDeployedProjects()returns the projects in the snapshot which were deployed
FD_Release.getSnapshotDeployedProjectsAsString()returns all deployed project names in snapshot concatenated in the format "ProjectName, PartialProjectName (PackageName), ..."
FD_Release.getSnapshotFailedProjects()returns the projects in the snapshot which failed to deploy
FD_Release.getSnapshotFailedProjectsAsString()returns all failed project names in snapshot concatenated in the format "ProjectName, PartialProjectName (PackageName), ..."
FD_Release.getSnapshotSkippedProjects()returns the projects in the snapshot which were skipped
FD_Release.getSnapshotSkippedProjectsAsString()

returns all skipped project names in snapshot concatenated in the format "ProjectName, PartialProjectName (PackageName), ..."

FD_Release.getSnapshotNotAttemptedProjects()returns the projects in the snapshot which were not attempted
FD_Release.getSnapshotNotAttemptedProjectsAsString()returns all not attempted project names in snapshot concatenated in the format "ProjectName, PartialProjectName (PackageName), ..."
FD_Release.isAnyDeployFailed()returns true if any projects failed to deploy
FD_Release.isAnyDeployFailed(groupName)returns true if any projects in a specific group of projects failed to deploy
FD_Release.isAnyDeployOrUtilityFailed()returns true if any projects or utility workflows failed
FD_Release.isAnyDeployOrUtilityFailed(groupName)returns true if any projects or utility workflows in a specific group failed
FD_Release.isAnyUtilityFailed()returns true if any utility workflows failed
FD_Release.isAnyUtilityFailed(groupName)returns true if any utility workflows in a specific group failed
FD_Release.isProjectDeployed(projectId, packageName)returns true if a project is deployed, given the project ID and package name
FD_Release.isProjectDeployed(projectName, packageName)returns true if a project is deployed, given the project name and package name
FD_Release.isProjectFailed(projectId, packageName)returns true if a project failed to deploy, given the project ID and package name
FD_Release.isProjectFailed(projectName, packageName)

returns true if a project failed to deploy, given the project name and package name

FD_Release.isProjectSkipped(projectId, packageName)returns true if a project is skipped, given the project ID and package name
FD_Release.isProjectSkipped(projectName, packageName)returns true if a project is skipped, given the project name and package name
FD_Release.isProjectNotAttempted(projectId, packageName)returns true if a project was not attempted, given the project ID and package name
FD_Release.isProjectNotAttempted(projectName, packageName)returns true if a project was not attempted, given the project name and package name

The following macros are not currently supported in the footer:
  • style