FlexDeploy Workflow editor and certain Plugins support use of Variables, Project and Environment Instance Properties, which helps build dynamic steps in Build / Deploy processes. This document provides details of available variables and their meaning. In addition to Shell script, FlexDeploy also supports Groovy, Ant, and WLST (Jython) scripts, which allows access to additional Java object variables.
Many workflow steps allow the user to enter expressions, often these expressions require using varibles, inputs or properties, but it can be difficult to remember the exact variable, input ot property. Just click on the Lookup Script Variables icon:
The following window will open. As you type the script variable, it will filter the entire list of available inputs, properties, and variables to only those that contain the string you entered. Select one variable from suggestions. Press the Copy and Return button to make the variable name be available to paste (Ctrl + V) into the expression.
Variable Scope
Overall, it makes sense to use unique names for any user defined variable to avoid confusion.
- Project, Environment/Instance, Instance Properties
- Entire workflow execution. Ideally you do not want to modify these properties during workflow execution, but it can be modified to influence execution if necessary.
- FlexFields
- Scope of FlexField value is through Workflow Execution which may be build/deploy/utility. Note that build request FlexFields are associated with Project Version created by build, hence those values are available during deploy execution as well for project version.
- It makes sense to not modify these inputs during workflow execution.
- Workflow
- Workflow Inputs - entire workflow execution. Do not modify during course of workflow execution.
- Workflow Variables - entire workflow execution. You can modify value for variables during workflow execution.
- Plugin Inputs - specific plugin execution for endpoint.
- User defined Plugin Inputs and Outputs - specific plugin execution for endpoint.
- Use unique names for Workflow Inputs, Variables and any user defined Plugin Input or Outputs to avoid any confusion.