Base plugins and the deployed object

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

You can write plugins for XL 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.

Issue Python PowerShell Generic
What does the plugin work with? Valid Python files Valid PowerShell files FreeMarker 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 XL 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)
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 variables Python - variables are regular Python vars PowerShell - variables are regular PowerShell vars FreeMarker - 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.