Skip to main content
Version: Deploy 22.3

Base plugins and the deployed object

Important: Although the content in this topic is relevant for this version of Deploy, we recommend that you use the rules system for customizing deployment plans. For more information, see Getting started with Deploy rules.

You can write plugins for Deploy to customize deployment plans and behavior. Plugins are created by copying the built-in Generic, PowerShell, or Python plugin. This table provides information about what each plugin does and how it works.

IssuePythonPowerShellGeneric
What does the plugin work with?Valid Python filesValid PowerShell filesFreeMarker templates
How does the plugin use them?
  1. Prefixes a generated header.
  2. Copies to target, along with artifacts.
  3. Invokes the file.
  1. Prefixes a generated header.
  2. Copies to target, along with artifacts.
  3. Invokes the file.
  1. Resolves the template on the Deploy server using FreeMarker.
  2. Copies to target, along with artifacts.
  3. If necessary, makes the file executable.
  4. Invokes the file.
Special variables
  • deployed
  • (Optionally)deployedApplication
  • deployed
  • (Optionally) previousDeployed
  • (Optionally) deployedApplication
Which properties can be accessed on these variables?
  • Any that are defined on the type of deployed/deployedApplication.
  • A deployed.file property if the deployed has an artifact.
  • Any that are defined on the type of deployed/previousDeployed/deployedApplication
  • Plus a deployed.file/previousDeployed.file property if the deployed/previousDeployed has an artifact.
  • Any that are defined on the type of deployed
  • Plus a deployed.file property if the deployed has an artifact
  • Plus deployed.deployedApplication (of type udm.DeployedApplication)
Expression language to work with variablesPython - variables are regular Python varsPowerShell - variables are regular PowerShell varsFreeMarker - supports the usual . syntax for property access (as in ${deployed.name}) as well as other expressions such as [n] to access the n-th element of a list or set property and ["foo"] to access the value for key "foo" of a map property. For more information, see Retrieving variables.