Create a release process

You can create a new release process either from scratch or from a predefined template. You can also duplicate an existing process.

Note: Access to the release process settings depends on permissions granted to your user role. For details, see Roles and permissions.

Create a process

First, you need to create a release process, and then define its stages and actions. For details on the process flow, see The release process flow.

To create a release process, use one of the following methods:

Method Steps
Create from scratch

To create a process from scratch:

  1. Go to Release Management > Processes.
  2. Click + Release Process to create a release process in the current workspace.

  3. Enter a name for your process, and assign the process to a release or milestone. You can select multiple releases or milestones.
  4. Define other process fields.

  5. Click Add.
Create from a template

To create a process from a template:

  1. On the Processes tab, click the dropdown arrow next to + Release Process, and select Create Process from Template .
  2. Alternatively, in the Process Templates grid, select a template that you want to use for a new process, and click Create Process from Template .

  3. In the new dialog box, enter a name for your process, select a process template, and click Add.

Tip: Add the Process Template column to the processes grid to understand which templates your processes are based on. This helps you quickly identify a template if you need to modify any of its properties.

Note: Admins can design business rules to prevent creating processes based on specific templates. For example, if a template is obsolete or was created for a different team.

For details about process templates, see Use process templates.

Duplicate an existing process

To duplicate an existing process:

  • In the Processes grid, select a process. Click More > Duplicate.
  • Alternatively, right-click a release process and click Duplicate .

Back to top

Define stages

Stages, as well as groups, can be defined as parallel or sequential.

For example:

Stage Details
Parallel

All child items are run at the same time.

Sequential An item starts after the preceding item has completed.

To define a stage:

  1. Open a release process and select the Process Flow tab.
  2. Click + Stage to create the first stage in the process.

    Use the Run children in parallel field to determine whether the stage child items can be executed at the same time.

After creating a stage, define actions and quality gates that make up the stage.

Back to top

Define actions

Actions represent tasks that should be performed as part of a stage.

Prerequisites

Ensure that the prerequisites below are met for the following auto action types:

  • Run job: Ensure that the necessary ALM Octane integrations are configured for your workspace. For details, see Integrations overview.
  • Update entities and Add comment: Ensure that the API key for auto actions is defined in the release process details. For details, see ALM Octane auto actions.
  • Generate document report: Ensure that API key for auto actions is defined, and that the API key has the Generate Document Report permission from the General System Actions category.

    If necessary, contact your admin to grant this permission to the API key user. Also make sure that you have defined at least one document report template. For details, see Document report templates.

To define an action:

  1. In the Run Process's Process Flow tab, make sure you have created a stage, as described in Define stages. Select one stage.

  2. From the Stage dropdown, click + Manual Action or + Auto Action. If one option is not visible, expand the dropdown.
  3. Associate each action with the appropriate parent stage or group.

  4. Assign the action to an owner.
  5. For auto actions, select the action type and provide the field values. For details, see Auto actions.

  6. Click Add.

Tip: You can organize multiple actions into groups. You can reorder items in the process tree, but you cannot drag an item above an item that has already started. To reorder an item, drag the item up or down the tree. After you move the item, the timings of the surrounding items are adjusted automatically.

Back to top

Auto actions

Release processes let you perform automated actions in ALM Octane and on the CI and CD servers.

You can create auto actions of the following types:

ALM Octane auto actions

Some ALM Octane auto actions are performed on behalf of the API key.

API key for auto actions is a user account with the Release Manager role. It is used to perform system actions that are logged and require authentication. For example, when ALM Octane items are updated by an auto action, the updates are recorded in the item's history as the action performed by the API key for auto actions. The API key for auto actions is defined for a release process. Only users with the Workspace Admin or Release Manager roles can define the API key.

Tip: You can also use variables to include automatically generated property values in subsequent auto actions, such as emails and document reports. For details, see Create process variables.

The following are common ALM Octane auto actions:

Type Details
Update entities

Performs an update to the following item types:

  • Work items, such as features and backlog items.
  • Available in 16.2.100 and later: Quality items, such as tests and test runs.

If the auto action succeeds, the new values replace the original ones, for the specified type.

Specify the following values:

  • Entity type: The type of items that the auto action should update.
  • Fields to update: The item fields that the auto action should update. You can also add tags and define values for the fields that you specify.
  • Filter: Filter options to narrow down the list of items to update. For example:

    If you only want to update those items that are associated with the release defined for the current release process, select Linked Processes > Releases. In the popup, select Release Process.Releases and click OK.

    If you only want to update those items that are associated with the milestone defined for the current release process, select Linked Processes > Milestones. In the popup, select Release Process.Milestones and click OK.

Note: By default, the maximum number of ALM Octane items that can be updated by an auto action is set to 500. Your admin can change this number by modifying the RC_AA_UPDATE_ENTITIES_MAX_SIZE parameter. For details, see Configuration parameters.

Generate document report

Generates a document report based on the selected template.

The template drop down only includes templates that are shared with all users.

If the auto action is successful, the owner of the auto action is notified of the report generation in the My Work area.

Note the following:

  • The report is generated on behalf of the API key for auto actions.
  • Document report templates that include widgets are not supported.
  • The report is not available for users with data access control enabled. For details, see Data access control.
  • If the auto action is deleted, the generated report is no longer available.
  • Admins can configure email templates to include a link to the auto-action-generated document report. For details, see Email templates.
  • You can also use variables to include a document report or a link to the report , in emails and notifications. For details, see Create process variables.
Send email

Sends an email with a specific message. Specify the To, CC, and BCC fields, the subject, content, and importance level.

Add comment

Adds comments to the selected item types. This capability is availability for:

  • Work items, such as features and backlog items.
  • Available in 16.2.100 and later: Quality items, such as tests and test runs.

Tip: To narrow down the list of items to which a comment will be added, apply a filter. For example:

  • To only add comments to items associated with the release defined for the current release process, select Linked Processes > Releases. In the popup, select Release Process.Releases and click OK.
  • To only add comments to items that are associated with the milestone defined for the current release process, select Linked Processes > Milestones. In the popup, select Release Process.Milestones and click OK.

Note: Comments are added on behalf of the API key. Ensure the defined API key user has permissions to add comments to the selected item type.

CI server auto actions

You can create Run job auto actions for common CI servers.

For a CI action, you define the following:

Field Details
CI server

The CI server whose job the auto action should run.

The supported servers are: Jenkins, Bamboo, Azure DevOps, PulseUno, GitLab, and TeamCity.

Note:

  • Jenkins: You must upgrade your Jenkins plugin to version 7.4 or later.
  • GitLab: You must upgrade your GitLab service to version 1.1.128 or later.
  • TeamCity: You must upgrade your TeamCity plugin to version 1.4.4 or later.
CI job

A job that the auto action should execute, depending on the selected CI server.

Execution parameters

Job execution parameters that ALM Octane should pass to the CI server.

Note:

  • The parameters are defined with the default values, or the latest values set on the CI server. To change a value, clear the default value and enter a new one.
  • You can define variables and use them as parameters. For details, see Create process variables.

  • The newly defined values are fixed for a job that the given auto action should run. They are not affected when values on the respective CI server change.
  • If the execution parameters are not defined in the auto action details, the CI job runs with the default parameters set on the CI server. You can check the parameter details in the execution message.
  • For multi-branch Jenkins jobs, ALM Octane provides parameters for branches defined as default on the CI server. To use parameters for a specific branch, list this branch as default on the CI server.
Branch name

The branch on which the job should run.

Note:

  • PulseUno jobs: If the PulseUno parameters, such as a branch name and a changeset ID, are not defined, the auto action triggers a job on the latest changeset ID and the default branch.
  • GitLab jobs: If the branch name is not defined, the auto action runs a job on the default branch.

    You can also use the Branch name field to define CI tags. Unlike with branches, where jobs run on the latest version of code, tags help you run jobs on specific versions, regardless of the commit time.

    If a GitLab branch and tag have the same name, auto action fails.

  • Jenkins jobs: You must define a branch name for a Jenkins job. If the branch name is not defined, the auto action fails.

    If the branch name is not defined, the auto action runs a job on the default branch.

    For multi-branch Jenkins jobs, if a branch name is not defined in ALM Octane, and default branches are not set on the CI server, the auto action fails.

CD server auto actions

You can create auto actions for CD servers.

Technical preview: The Deployment Automation integration is provided as a technical preview. It may require a separate license in the future

Type Details
Run application process

Deployment Automation: Auto actions can run application processes using snapshots or component versions.

Specify the CD server, the application and its environment, a process, a snapshot/component and their versions.

Tip: You can parameterize the Deployment Automation component version and snapshot, to run the application process for multiple component versions and snapshots. For example, you can run the auto action with Expression mode on, and again with it off, by using different input variables for the snapshot. For details, see Create process variables.

Back to top

Define quality gates

Use quality gates to verify that certain criteria are met before moving to the next stage.

For a quality gate to pass, all its criteria need to be marked as passed.

Quality gate criteria can be a combination of user input and query criteria:

Criterion type Description
User input criterion

You enter a textual description of a condition for passing the quality gate.

The owner manually marks the criterion as passed or failed.

Examples: Does the feature have the owner and QA owner? Is the API impact verified?

Query criterion

You define a rule that checks whether the number of items of a selected type within a given filter meets a specified condition.

When the quality gate is processed, the system automatically runs the query. If the condition is met, the criterion is passed. If the condition is missed, the criterion is failed.

Example: Defects = 0; Filter: Severity = {Very High, Critical}, Feature = {my feature}

To define a quality gate:

  1. Open a release process and click the Process Flow tab.
  2. Click + Quality Gate . If this option is not visible, expand the item dropdown and select + Quality Gate. For details, see Create a release process.
  3. In the Add Quality Gate window, enter your information. Click Add & Edit.
  4. Click the Criteria tab. Choose a criterion type: + User Input Criterion or + Query Criterion.

  5. In the Add Criterion window, define a condition for passing the quality gate. For details on defining query criteria, see Define query criteria for quality gates.

Note: The number of criteria that you can define in a quality gate is controlled by the RC_CRITERIA_PER_GATE parameter. For details, see Configuration parameters.

Back to top

Define query criteria for quality gates

This section describes how to define query criteria for a quality gate.

Click + Query Criterion, and in the Add Query Criterion dialog box, provide the following details:

Field Description
Item type

Select the item type that the query should run on. You can reduce the scope of items by defining a filter.

Possible values: Backlog Items, Defects, Last Test Runs.

Threshold operator/ Threshold value

Use these fields to define a numerical condition. If the condition is met, the criterion passes.

Filter

Set a filter to define the subset of items that the system compares with the threshold condition.

  • If you want the query to match the release defined for the release process, select Linked Processes > Releases. Select Release Process.Releases in the popup, and click OK.
  • If you want the query to match the milestone defined for the release process, select Linked Processes > Milestones. Select Release Process.Milestones in the popup, and click OK.

Setting these values lets you define the release and milestone for all the query criteria in one place, on the Details tab of a release process.

For details on setting filters, see Filter options.

Simulate query criteria results

You can run a simulation of a query to see how many items the query returns, and see whether the query would pass or fail the criterion.

To simulate the results:

  1. In the Criteria grid of the quality gate, select the criterion that you want to simulate.
  2. In the Preview pane of the query criterion, click Simulate Results.

    After the simulation completes, a flag displays in the Preview pane indicating whether the criterion would pass or fail given the current situation.

  3. Click the results link to list the items that the query returned.

Note:  

  • You can simulate query criteria of quality gates that are in the Planned phase only.
  • The simulation reflects the current situation. The results of the actual quality gate evaluation may be different.

Back to top

Use process templates

Process templates help you quickly create release processes with a predefined set of properties, such as stages, actions, and quality gates.

Note:  

  • Any operations on templates require relevant permissions. By default, the permissions are granted to the Release Manager and the Admin roles.
  • Any changes to a template affect only new processes based on that template. When a template is deleted, it has no impact on its related processes.

When creating a process template, consider the following notes:

  • You can associate a template with releases and milestones. This helps you create a template for processes with different milestones in a long release.

    You can use the same template for processes outside the selected release and milestone.

  • You cannot associate a template with work items. The Work Items Count field is not available for templates.

Create a process template

You can create a new process template either from scratch or from an existing release process. You can also duplicate an existing process template.

Method Steps
Create from scratch

To create a template from scratch:

  1. Go to Release Management > Process Templates and click + Process Template to create a template in the current workspace.
  2. Click + Shared Process Template to create a template in all the shared space's workspaces.

  3. In the Add Process Template dialog box, enter a name for your template and define other fields.
  4. Click Add.
Create from a process

To create a template from an existing process:

  1. In the Processes grid, select a process that you want to save as a template.
  2. Click More > Save Process as a Template .

    Alternatively, right-click a process and select Save Process as a Template.

  3. In the dialog box, enter a name for your template and click Add.

A new template is added to the Process Templates grid.

The template's items, such as stages, actions, and quality gates, are copied from the original process.

The template's properties, such as the API key, Release, or Milestone, are also copied from the original process. The fields that are specific to the template entity, cannot be copied.

Note: If any fields are required for a Process Template entity, the template is saved in draft mode. The Is draft grid column indicates whether the template is a draft. You can then edit the draft and define the required fields.

Duplicate an existing template

To duplicate an existing template:

  • In the Process Templates grid, select a template. Click More > Duplicate.
  • Alternatively, right-click a template and click Duplicate .

Tip: You can view and drill down to all release processes based on a specific template, from the template's Relations tab.

Back to top

Create process variables

Available in versions: 16.2.100 and later

A process variable is an entity used in the context of a specific process or template in place of a static field value. You can use variables in auto actions.

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.

To define a variable:

  1. In Release Management > Process Templates, select a template and navigate to the Variables tab.
  2. Click + Variable, and define the following variable properties:
  3. Property Details
    Name

    A unique name that represents the purpose of the variable. For example, useful variables could be branch, build_num, version_num, and 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-Roman letters are acceptable.

    Note: Variables can be renamed at a later time.

    Type

    String (currently the only supported type).

    Value

    The value of the variable as generated by the last run. Run the action at least once to see the current values.
    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, outline its purpose or provide other meaningful information.

Back to top

Run a process with variables

Available in versions: 16.2.100 and later

You can run a process that is comprised of 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.

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

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

Input variables

To add variables to your input properties:

  1. Define variables as described in Create process variables.

  2. In your release process, select the Process Flow tab and select the auto action to which you want to assign the variables.
  3. In the auto action's Details tab, go to the Input properties section.
  4. List fields. In list fields, choose a parameter. In the right column, type ${ to open a list of the available variables. Select a variable.

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

  5. Text fields. In text fields, such as Comment or Message, type ${ (curly bracket) to open a list of the available variables. Select a variable. Include other text around the variables. For example, if you defined the variables team and build_num variables in your template, type the following in an email Message field: Well done ${team}! Build ${build_num} succeeded.

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.

This section describes advanced output processing, where you use automatically generated output properties, such as build number and version, to set variable values.

To use output properties as variable values:

  1. Define variables as described in Create process variables. It is advisable to use names that reflect the output property, such as build_num or build_status.

  2. 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.

  3. In the auto action's Details tab, go to the Output properties section. The output property values are generated during the run.
  4. In the Advanced output processing section, click the list dropdown and select a variable.
  5. In the Value area, type ${ to open a list of the available properties. Automatically generated properties have the following prefix: this.output_properties.

  6. Save the auto action.

  7. In subsequent auto actions, use the variable that you assigned to the output property. For example, for a Send email auto action, you can type the following in the Message field:
    Build Number ${Var1} finished with a ${Var2} status.

Back to top

Next steps: