A plug-in step is defined by a <step-type> element that contains: one <properties> element, one <command> element, and one <post-processing> element. The <properties> element is a container for <property> child elements, and can contain any number of <property> elements. Property values can be supplied at design time or runtime. The <post-processing> element provides error-handling capabilities and sets property values that can be used by other steps. The <command> element runs the step's function. The function can be defined completely by the element, or be constructed in part or entirely from the step's properties at design time or runtime.
In addition to a step's own properties, a command has access to properties set earlier by other steps within the process, to properties set by the application that started the component process, and to properties on the target environment and resource. Step property values become unavailable after the component process ends.
Plug-in steps are run by an agent that is installed in the target environment. Thus, plug-ins can be written in any scripting language while the agent can access the required scripting tools on the host. After a plug-in is created, upload it into IBM UrbanCode Deploy to make it available to users. To upload a plug-in, create an archive file that contains the XML files (plugin.xml and upgrade.xml) along with any scripts required by the plug-in. Then, import the archive file with the Automation Plugins pane for automation-type plug-ins, or the Source Config Plugins pane for source plug-ins.