Sample pipeline settings using DXClient
A CI/CD pipeline can help automate processes in the development and test cycle, including code deployment to test and production environments. HCL Digital Experience (DX) 9.5 provides sample pipelines for use with the DXClient tool to demonstrate how the deployment of portlets, Script Applications, Themes, DX Application, and the export and import of Web Content Manager (WCM) libraries can be automated.
You can find a sample pipeline code under the samples folder in the DXClient root folder. This code uses a container version of DXClient to deploy the portlet, theme, and script application. Developers and administrators can also use this sample as a basis for Jenkins automation server jobs.
Parameters for installing DXClient
| Parameter | Value | Notes |
|---|---|---|
AGENT_LABEL |
Jenkins agent label | Determines on which agents the pipeline can run |
TOOL_PACKAGE_URL |
URL to DXClient zip | Fetched using curl |
TOOL_CREDENTIALS_ID |
Credentials ID in Jenkins store | User name and password credentials needed to access tool package URL |
ARTIFACT_PATH |
URL (except filenames) for artifacts to be deployed | Artifacts fetched through curl |
ARTIFACT_CREDENTIALS_ID |
Credentials ID in Jenkins store | User name and password credentials needed to access artifact URLs |
DX Server configuration parameters
| Parameter | Value | Notes |
|---|---|---|
DX_HOST |
Host name or IP address of DX server | Artifacts will be deployed to this server |
DX_PROTOCOL |
Protocol to connect to DX server | http or https |
DX_PORT |
Port to connect to DX server | Port for the DX main profile |
DX_CREDENTIALS_ID |
Credentials ID in Jenkins store | User name and password credentials needed to access DX server |
DXCONNECT_HOST |
Host name or IP address of the DXConnect servlet. The route only changes in OpenShift Kubernetes environment. Otherwise, this parameter should be same as DX_HOST | Hostname for the DX Config Wizard profile |
DXCONNECT_PORT |
Port to connect to DXConnect servlet | Port for the DX Config Wizard profile |
DXCONNECT_CREDENTIALS_ID |
Credentials ID in Jenkins store | User name and password credentials needed to access DX server Config Wizard profile |
Deploy portlet
This sample shows how to install the DXClient tool in a pipeline and deploy or update a portlet. It is designed to be run from a Jenkins job that provides the following parameters:
| Parameter | Value | Notes |
|---|---|---|
DEPLOY_PORTLET |
Select this to deploy the portlet | |
XML_CONFIG_PATH |
URL path to the config servlet for XMLAccess | Defaults to '/wps/config' |
CONTENT_HANDLER_PATH |
Alternate path for the portal context root or the content handler servlet | Defaults to /wps/mycontenthandler/ |
DX_PROFILE_NAME |
Profile name of the DX server | |
DX_PROFILE_PATH |
Profile path of the DX server | |
DX_SOAP_PORT |
Soap Port number of the DX server | |
PORTLET_WAR_ARTIFACT_NAME |
Filename of WAR to deploy the portlet | Required for deploying the portlet |
PORTLET_XML_ARTIFACT_NAME |
Filename of XMLAccess script used to deploy the portlet | Required for deploying the portlet |
Deploy theme
This sample shows how to install the DXClient tool in a pipeline and deploy or update a theme. It is designed to be run from a Jenkins job that provides the following parameters:
| Parameter | Value | Notes |
|---|---|---|
DEPLOY_THEME |
Select this to deploy the theme | |
XML_CONFIG_PATH |
URL path to the config servlet for XMLAccess | Defaults to '/wps/config' |
CONTENT_HANDLER_PATH |
Alternate path for the portal context root or the content handler servlet | Defaults to /wps/mycontenthandler/ |
DX_PROFILE_NAME |
Profile name of the DX server | |
DX_PROFILE_PATH |
Profile path of the DX server | |
DX_SOAP_PORT |
Soap Port number of the DX server | |
THEME_EAR_APPLICATION_NAME |
Application name for the EAR file to deploy the theme | Required for EAR theme deployment |
THEME_EAR_ARTIFACT_NAME |
File name of EAR application to deploy theme | Required for EAR theme deployment |
THEME_REGISTRATION_FILE |
File name of XML file to register the theme | Required for theme registration |
THEME_NAME |
WEBDAV theme name | Required for WEBDAV theme deployment |
THEME_ARTIFACT_NAME |
WEBDAV theme zip file name | Required for WEBDAV theme deployment |
Deploy script application
This sample shows how to install the DXClient tool in a pipeline and deploy a Script Application. It is designed to be run from a Jenkins job that provides the following parameters:
| Parameter | Value | Notes |
|---|---|---|
DEPLOY_SCRIPT_APPLICATION |
Select this to deploy the script application | |
CONTENT_HANDLER_PATH |
Alternate path for the portal context root or the content handler servlet | Defaults to /wps/mycontenthandler/ |
DX_PROFILE_NAME |
Profile name of the DX server | |
DX_PROFILE_PATH |
Profile path of the DX server | |
SCRIPT_APP_ARTIFACT_NAME |
Filename of zipped script application to deploy | Required for deploying the script application |
MAIN_HTML_FILE |
File name of Main HTML file within the script application | Required for deploying the script application |
WCM_SITE_AREA |
SiteArea of the Script Application content | Required for deploying the script application |
CONTENT_NAME |
Name of the Script Application instance to be created or updated | Required for deploying the script application |

Other sample pipeline settings
Restore script application
This sample shows how to install the DXClient tool in a pipeline and restore an existing script application to any of its specified previous version. It is designed to be run from a Jenkins job that provides the following parameters:
| Parameter | Value | Notes |
|---|---|---|
AGENT_LABEL |
Jenkins agent label | Determines on which agents the pipeline can run |
TOOL_PACKAGE_URL |
URL to DXClient zip | Fetched using curl |
TOOL_CREDENTIALS_ID |
Credentials ID in Jenkins store | User name/password credentials needed to access tool package URL |
DX_HOST |
Host name or IP address of DX server | Artifacts will be deployed to this server |
DX_PROTOCOL |
Protocol to connect to DX server | HTTP or HTTPS |
DX_PORT |
Port to connect to DX server | Port for the DX main profile |
DX_CREDENTIALS_ID |
Credentials ID in Jenkins store | User name/password credentials needed to access DX server |
CONTENT_ID |
WCM content item unique ID | Script application will be stored in this content item |
VERSION_NAME |
Version name of script application | Name of the version that should store the script application |
RESTORE_AS_PUBLISHED |
Selected version to restore or draft | Restore as a draft or replace the published version |

Deploy DX application
This sample shows how to install the DXClient tool in a pipeline and then deploy or update a DX application. It is designed to be run from a Jenkins job that provides the following parameters:
| Parameter | Value | Notes |
|---|---|---|
AGENT_LABEL |
Jenkins agent label | Determines on which agents the pipeline can run |
TOOL_PACKAGE_URL |
URL to DXClient zip | Fetched using curl |
TOOL_CREDENTIALS_ID |
Credentials ID in Jenkins store | User name/password credentials needed to access tool package URL |
ARTIFACT_PATH |
URL (except filenames) for artifacts to be deployed | Artifacts fetched using curl |
ARTIFACT_CREDENTIALS_ID |
Credentials ID in Jenkins store | User name/password credentials needed to access artifact URLs |
DX_CREDENTIALS_ID |
Credentials ID in Jenkins store | User name/password credentials needed to access DX server |
DXCONNECT_CREDENTIALS_ID |
Credentials ID in Jenkins store | User name/password credentials needed to access DX Server Configuration Wizard profile |
DX_PROTOCOL |
Protocol to connect to DX server | HTTP or HTTPS |
DX_HOST |
Host name or IP address of DX server | Artifacts will be deployed to this server |
DX_PORT |
Port to connect to DX server | Port for the DX main profile |
DXCONNECT_HOST |
Host name or IP address of the DXConnect servlet (route change only in case of Open Shift Kubernetes environment. For other case, this parameter should be same as DX_HOST) | Hostname for the DX Configuration Wizard profile |
DXCONNECT_PORT |
Port to connect to DXConnect servlet | Port for the DX Configuration Wizard profile. Default to 10202 |
APPLICATION_FILE |
File name of EAR application to deploy | Required for EAR deployment |
APPLICATION_NAME |
Application name for the EAR file to deploy | Required for EAR deployment |
DX_SOAP_PORT |
Soap Port number of the DX server | Required for EAR deployment |
DX_PROFILE_PATH |
Profile path of the DX server | Required for EAR deployment |

Restart DX Core server
This sample shows how to restart the DX Core server using the DXClient tool in a pipeline. It is designed to be run from a Jenkins job that requires the following parameters:
| Parameter | Value | Notes |
|---|---|---|
AGENT_LABEL |
Jenkins agent label | Determines on which agents the pipeline can run |
TOOL_PACKAGE_URL |
URL to DXClient zip | Fetched using curl |
TOOL_CREDENTIALS_ID |
Credentials ID in Jenkins store | User name/password credentials needed to access tool package URL |
DX_CREDENTIALS_ID |
Credentials ID in Jenkins store | User name/password credentials needed to access DX Core server |
DXCONNECT_CREDENTIALS_ID |
Credentials ID in Jenkins store | User name/password credentials needed to access DX Core Server Configuration Wizard profile |
DXCONNECT_HOST |
Host name or IP address of the DXConnect servlet (route change only in case of Open Shift Kubernetes environment. For other case, this parameter should be same as DX_HOST) | Hostname for the DX Configuration Wizard profile |
DXCONNECT_PORT |
Port to connect to DXConnect servlet | Port for the DX Configuration Wizard profile. Default to 10202 |
DX_PROFILE_PATH |
Profile path of the DX Core server | Required for restarting the DX Core server |

Manage syndication
This sample shows how to install the DXClient tool in a pipeline and then enable or disable the syndicator or subscriber. It is designed to be run from a Jenkins job that requires the following parameters:
| Parameter | Value | Notes |
|---|---|---|
AGENT_LABEL |
Jenkins agent label | Determines on which agents the pipeline can run |
TOOL_PACKAGE_URL |
URL to DXClient zip | Fetched using curl |
TOOL_CREDENTIALS_ID |
Credentials ID in Jenkins store | User name/password credentials needed to access tool package URL |
DX_CREDENTIALS_ID |
Credentials ID in Jenkins store | User name/password credentials needed to access DX server |
DX_PROTOCOL |
Protocol to connect to DX server | HTTP or HTTPS |
DX_HOST |
Host name or IP address of DX server | Artifacts will be deployed to this server |
DX_PORT |
Port to connect to DX server | Port for the DX main profile |
CONTENT_HANDLER_PATH |
Alternate path for the portal context root or the content handler servlet | Default to /wps/mycontenthandler/ |
SYNDICATOR_OR_SUBSCRIBER |
This can be syndicator or subscriber | |
UUID_FOR_SYNDICATION |
UUID of the syndicator/subscriber instance | |
ENABLE |
Use true or false to enable or disable the syndicator/subscriber |

HCLSoftware U learning materials
For an introduction and a demo on DX staging, go to Staging for Beginners.
To learn how to use staging tools such as DXClient, Syndication, XMLAccess, ReleaseBuilder/Solution Installer, and ConfigEngine, go to Staging for Intermediate Users. You can try it out using the Staging Lab for Intermediate Users and corresponding Staging Lab Resources.