Content pipeline services allow the custom release flow of content to be applied, there are various pre-pipelines or post pipelines that are set up to run that are configured in the Content Settings page. Each pipeline can be run either in the background (asynchronous call) or the whole release flow can stop until the pipeline has completed (synchronous).

Each pipeline is made up of various Stages, each stage then can have various Tasks. Tasks can be either parallel or sequential based on your custom business logic.

Once you have selected an action that you want to perform on a content, a content capture can list various types of status related to such an action. Each of the content settings is related to the view displayed on the Content Pipeline page.

Table 1. Task Types in Content Pipelines

Task Type

Description

Invoke Rest API

  • Run a GET/POST/PUT/PATCH/DELETE HTTP request against a given URL.

  • Custom Http header can be added. ${input.myHeader} where myHeader is an input for the pipeline.

  • Once the task has completed, you then have access to various properties: status/responseBody/responseCode/responseHeaders and you can access them with the $ character. For example, $.{Stage.task.status}

  • Custom Http header can be added: ${input.myHeader} where myHeader is an input for the pipeline.

  • Once the task has completed, you then have access to various properties: status/responseBody/responseCode/responseHeaders and you can access them with the $ character. For example, $.{Stage.task.status}

Poll Rest API

  • Run a GET HTTP request against a given URL that has a timeout and interval. The exit criteria assert a success or failure and you specify a dotted notation to a JSON field.

  • Custom Http header can be added. For example, ${input.myHeader} where myHeader is an input for the pipeline.

  • Once the task has completed, you then have access to various properties: status/responseBody/responseCode/responseHeaders and you can access them with the $ character. $.{Stage.task.status}

Pipeline

To create a pipeline, click New Pipeline and provide required inputs, for example, raise a ticket with helpdesk or email a custom notification. Using the Pipeline task you can chain pipelines together and created a catalog of content.

Script

Run a bash or PowerShell script against a given host.

vRealize Orchestrator External

Run a vRealize Orchestrator Workflow against an external vRO Appliance.

To configure vRealize Orchestrator

  1. Edit on the LCM appliance opt/vmware/vlcm/blackstone/configuration/vrcs-config/endpoints/system-vro.json and edit the pipeline-vro entry and provide correct values for the URL/username and password to the remote vRO instance.

     "name": "pipeline-vro",
     "description": "Pipeline VRO Server used by Content Lifecycle Management Services",
     "type": "vrcs.vco:VCOServer", "properties": {"url": "https://@LOCALHOST@:8281",
     "username": "@VRO_USER@","password": "@VRO_PASSWORD@","ignoreCertificateCheck": "yes" },
     "tags": [], "tenantLinks": [ "/tenants/default/groups/default","/tenants/default" ]
  2. Restart LCM Xenon Server: systemctl restart vlcm-xserver

  3. Against a given workflow, provide a global custom tag called vRCS_CUSTOM as the key and value.

  4. To associate a vRO tag to a workflow, run the/Library/Tagging/Tag workflow. These workflows appear in the Pipeline Services.

Content pipeline runs pre-stub and post-stub based on run in the background flag. If it is enabled, then a call is not a synchronized call and the content pipeline does not wait for the status of the stub. Similarly, if it is disabled, then the call is a synchronized call and content pipeline does wait for the status of the stub. It takes more time as compared to a disabled background process.