With a vRealize Orchestrator task, you can configure a vRealize Orchestrator to be triggered as part of the release pipeline process.

Prerequisites

Verify that you created a workflow and tagged it with the vRCS_CUSTOM keyword in the vRealize Orchestrator Workflow Designer.

Procedure

  1. Click the Code Stream tab.
  2. On the Pipelines tab, select an existing pipeline, and click Edit to configure it.
  3. Click the Stages > button.
  4. Click Add Task.
  5. Select vRealize Orchestrator Workflow from the Provider drop-down menu.
  6. Enter a name for the custom task and click OK.
  7. Select the new task in the stage.
  8. Confirm to save the pipeline.
  9. Select when to run the task in the release pipeline.

    Option

    Description

    Always

    Runs the release pipeline task without conditions.

    On Condition(s)

    Runs the release pipeline task only if the defined condition is evaluated as true. If the condition is false, the task is skipped.

    A boolean expression, which uses the following operands and operators, is supported.

    • Pipeline variables such as, ${pipeline.variableName}. Curly brackets are reserved for entering pipeline variables.

    • Task output variables such as, ${Stage1.task1.machines[0].value.hostIp[0]}

    • Default pipeline binding variables such as, ${releasePipelineName}

    • Case insensitive Boolean values such as, true, false, 'true', 'false'

    • Integer or decimal values without quotes

    • String values used with single or double quotes such as, "test", 'test'

    • String and Numeric types of values such as, == Equals and != Not Equals

    • Relational operators such as, >, >=, <, and <=

    • Boolean logic such as, && and ||

    • Arithmetic operators such as, +, -, *, and /

    • Nested expressions using round brackets

    • Strings with literal value ABCD are evaluated as false and the task is skipped.

    Unary operators are not supported.

    A sample condition, ${Stage1.task1.output} == “Passed” || ${pipeline.variableName} == 39

  10. (Optional) Select the Continue Pipeline execution even if this task fails option.

    This option allows the release pipeline to bypass the failed task and continue with the execution process.

  11. Select the workflow name from the drop-down menu.

    For example: Manual Task or other custom workflows.

  12. Enter the input parameters.
    Table 1. Example Input Parameters for vRealize Orchestrator Workflow Task

    Workflow

    Input Values

    Manual task

    Enter the input parameters for the vRealize Orchestrator task to run:

    • taskDetail. Enter the message for users to review in the task detail. The message can indicate whether the pipeline was paused, and how to approve the pipeline to continue to run. It can also include the state of the tasks and stages in the pipeline, where to find approvals, and how to resume or reject the pipeline run. For example: ${releasePipelineName} paused at ${taskName} in ${stageName}. To continue the pipeline run, you must approve the request.

    • taskGroup. Enter the common name for the taskGroup who must receive and approve the request for the manual task. For example, enter the task group in the form of my-team@example.org or example-corp\my-team. This entry is case-sensitive.

    • expiryInDays. Amount of time before the task expires. The default is 15 days.

    To approve the request, in vRealize Automation, click Inbox, read the approval message, enter a comment, and click Approve or Reject.

  13. Click Save.
  14. After the pipeline runs, you can view the results of the task to determine who responded to the task and when.
    1. Click Pipeline Executions, and open the pipeline.
    2. In the stage, click a task, and examine the results.

    The task results indicate who responded, and when.

Task Output Format for a vRealize Orchestrator Workflow Task

The following task output format is an example for a workflow task.

[{
                "name": "result",
                "type": "STRING",
                "description": "Result of workflow run.",
                "value": ""
},
{
                "name": "message",
                "type": "STRING",
                "description": "Message",
                "value": ""
}]