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.
Issue |
Python |
PowerShell |
Generic |
What does the plugin work with? |
Valid Python files |
Valid PowerShell files |
FreeMarker templates |
How does the plugin use them? |
- Prefixes a generated header.
- Copies to target, along with artifacts.
- Invokes the file.
|
- Prefixes a generated header.
- Copies to target, along with artifacts.
- Invokes the file.
|
- Resolves the template on the Deploy server using FreeMarker.
- Copies to target, along with artifacts.
- If necessary, makes the file executable.
- 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. |