Creating Plug-ins

A plug-in consists of two mandatory XML files–plugin.xml and upgrade.xml–along with any supporting script files required by the plug-in.

The plugin.xml file defines the steps comprising the plug-in; a plug-in's functionality is defined by its steps. Each step is an independently configurable entity in the Serena Release Automation editor.

The upgrade.xml file is used to upgrade the plug-in to a new version. Optionally, you can include an info.xml file which contains a version ID and other information. Although optional, Serena recommends the use of the info.xml file.

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- or run-time. The <post-processing> element provides error-handling capabilities and sets property values that can be used by other steps. The <command> element performs 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- or run-time.

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 invoked the component process, as well as to those on the target environment and resource. Step property values become unavailable once the component process ends.

Plug-in steps are performed by an agent installed in the target environment, which means that plug-ins can be written in any scripting language as long as the agent can access the required scripting tools on the host. Once a plug-in is created, upload it into Serana Release Automation to make it available to users.

To upload a plug-in

  1. Create a ZIP archive that contains the XML files (plugin.xml and upgrade.xml) along with any scripts required by the plug-in.

  2. Import the ZIP file with the Automation Plug-ins pane Settings > Automation Plugins > Load Plugin.