Release process variables

You can create variables to use as input and output parameters within your release process actions.

Note: Variables are only supported for auto actions, not manual actions.

Create process variables

A process variable is an entity used in place of a static field value, in the context of a specific process or template.

You can define one or more variables to parameterize your release process. This allows you to use process templates without having to manually adjust the input properties and gate criteria. For a sample flow using variables, see Execution flow with variables.

Note: Creating and managing process variables requires the relevant permissions. By default, permissions are granted to the Release Manager and Admin roles. For details, see Roles and permissions.

To define a variable:

  1. Open the Release Management module and go to the Process Templates tab.
  2. Open a template and go to the Variables tab.
  3. Click + Variable.
  4. Define the following variable properties:

    Property Details
    Name

    A unique name that represents the purpose of the variable, for example: branch, build_num, version_num, or deployed_url.

    When defining a variable name, follow these guidelines:

    • Use a combination of letters and numbers.
    • Do not include spaces or special characters. The only exception is the underscore (_).
    • Non-English characters are supported.

    Note: Variables can be renamed at a later time.

    Type

    String

    Note: String is the only supported type for variables.

    Default value

    If relevant, provide a default value. For example, you can specify main as the default for a variable called branch.

    Consider the following:

    • When creating a template from a process, or when duplicating a process, only default values are copied.

    • If a variable was not defined with a specific value, then it takes the default value when the process moves into the In Progress phase.

    • A value can include a maximum of 255 characters.

    Description A description of the variable. For example, describe its purpose or provide other meaningful information.

Back to top

Run a process with variables

You can run a process that includes a series of auto actions, where later actions use values from previous ones. You do this by passing variables as parameters between the actions. For example, you can use the output property Build Number of a Run Jenkins Job auto action and store it in a variable. For a subsequent action, you can use the build number as an input parameter to notify users about the status of a specific build.

You can use variables in string and memo text fields, such as message and comments, located within the Input properties section of your auto actions.

You can also use process fields as input variables. For example, If your process has a Version Name custom field, you can use it as an input value for a Send Email auto action. To see a list of the available process fields, type ${ in the input field.

To add variables to your input properties:

  1. Prerequisite: Make sure that the variables you want to use are defined in your release process. For details, see Create process variables.

  2. Open your release process and go to the Process Flow tab.
  3. Open the auto action to which you want to assign the variables and go to the Details tab.
  4. In the Input properties section, add variables to different types of fields:

    • List fields. In list fields, choose a parameter. In the value field, type ${ to open a list of the available variables and fields, and select a variable.

      The example below shows a variable selected in the Execution parameters section.

      Execution parameter with ${Var1} variable

    • Text fields. In text fields, such as Comment or Message, type ${ to open a list of the available variables, and select a variable. Include other text around the variables.

      Example: For a Send Email auto action, type the following in the Message field:

      Well done ${team}! Build ${build_num} succeeded.

      In addition, you can add process field values to reference fields of other related entities. For details, see Advanced output processing.

Tip: After the auto action has been completed, open the History tab to view the input and output properties used during the action.

Back to top

Advanced output processing

Certain auto actions, such as CI jobs, generate output properties. You can assign these properties to variables for use in subsequent actions. For example:

  • If you have an email auto action following a CI job action, you can add a message which includes the current Build Number and Build Status values.

  • A Document report action generates a URL, which you can share with your team.

  • A PulseUno action generates a build number, which you can include in emails.

Advanced output processing lets you use automatically generated output properties, such as build number and version, to set variable values.

To use output properties as variable values:

  1. Prerequisite: Make sure that the variables you want to use are defined in your release process. For details, see Create process variables.

  2. Open your release process and go to the Process Flow tab.
  3. In your release process, select the Process Flow tab and select the auto action from which you want to use the output properties, such as a CI job.

  4. Open the auto action from which you want to use the output properties, such as a CI job.
  5. Open the Details tab and go to the Output properties section. The output property values are generated during the run.
  6. In the Advanced output processing section, select a variable from the list.
  7. In the Value field, type ${ to open a list of the available properties. Automatically generated properties have the following prefix: this.output_properties.

  8. In text fields, you can add a dynamic parameter to display a related entity's reference field. Use the following syntax to obtain the process field value for the reference field: ${process.<entity_name>.<field_name>}.

    Example: If you have a custom field titled target_milestone_udf, you can enter the following in the Subject field of an email auto action:

    We are approaching the target milestone ${process.target_milestone_udf.name}

  9. Save the auto action.

  10. In subsequent auto actions, use the variable that you assigned to the output property.

    Example: For a Send email auto action, you can enter the following in the Message field:

    Build Number ${Var1} finished with a ${Var2} status.

Back to top

Execution flow with variables

This section describes a typical flow, using auto actions, quality gates, and variables in the release process flow.

The use of variables allows you to automatically connect the stages of your testing process with up-to-date and relevant data.

Stage Action Input variables Output variables

Run a nightly build

Auto action: Nightly build

None
  • Version number

  • Nightly build number

Deploy the environment

Auto action: Deploy QA env

  • Version number

  • Environment URL

Run sanity tests

Auto action: Sanity tests

Quality gate: No failed runs for critical tests in latest nightly build. Criterion filters test runs by job name and build number.

  • Environment URL

None
Run additional tests

Auto action: Run UFT One tests

Quality gate: Check that all tests were executed.

  • Version number

  • List of suites

  • Environment URL

  • Results (num passed, num failed, num skipped),

  • Link to UFT One report

  • UFT One build number

Generate document report

Auto action: Generate document report with results of run, using a template that shows last runs from last day, per job name.

None

  • link to doc report

Send notifications

Auto actions:

  • Send email to QA manager including the results, link to document report, link to UFT One report.

  • Send email to users indicating that the nightly build passed, version number xxx, and it was deployed on <env> URL.

  • Link to doc report

  • Version number

  • Environment URL

None
Run updates

Manual actions:

  • Filter for defects fixed in current version.

  • Update entities by marking defects as ready for verification.

None None

Back to top

See also: