Summary
Jenkins plug-in is a powerful tool for managing software delivery pipelines in HCL DevOps Velocity. Deployment teams can orchestrate the deployment of input builds into controlled environments with defined checks and balances using Jenkins plug-in.
Jenkins plug-in is a scheduled plug-in that runs every 5 minutes to import any new builds in Jenkins and pull them into HCL DevOps Velocity. This ensures that you have access to the latest builds and work more efficiently.
The Jenkins plug-in has the following features:
Importing Jobs and Builds: You can use Jenkins plug-in to import jobs and builds from a Jenkins server, which can be provided as an input for the release pipelines in HCL DevOps Velocity. Therefore, you can manage the software delivery process more efficiently.
Running automation tasks: You can use Jenkins plug-in to run Jenkins jobs as an automation task in HCL DevOps Velocity. Running the Jenkins job as an automation task, you can further streamline the software delivery process by automating routine tasks, reducing errors, and minimizing the time required to release the software.
Integration with deployment pipelines: Deployment pipelines in HCL DevOps Velocity is a powerful way to create automated pipelines for deploying software applications. You can use Jenkins plug-in to add Jenkins jobs as a task within the deployment pipelines and automate the deployment process.
Integration
To install the plug-in, perform the following steps:
- In HCL DevOps Velocity, click Settings > Integrations > Available.
- In the Action column for the Jenkins plug-in, click Install.
Integrating the plug-in by using user interface
To integrate the plug-in using the user interface, perform the following steps:
- In HCL DevOps Velocity, click Settings > Integrations > Installed.
- In the Action column for the Jenkins plug-in, click Add Integration.
- On the Add Integration dialog, enter the values for the fields to configure the integration and define communication.
- Click Add.

Usage
The Jenkins plug-in provides features that can be used for the following purposes:
- Using Jenkins jobs as input for the release pipelines.
- Using Jenkins jobs as automation tasks in deployment plans.
To use Jenkins jobs as input for the release pipelines, perform the following steps:
- Log in to HCL DevOps Velocity.
- Click Value streams on the Navigation bar.
- Click All Value Streams tab and select the required value stream.
- On the Value Streams page, click Pipeline tab and then click Add app to add an application.
The Add app – Choose the app dialog box opens.
- In the Managed by drop-down list, select Jenkins.
- In the Application name field, enter the application name.
- In the Description field, enter the description for the application.
- Click Save to add the application.
- On the Jenkins application, in the Input column, click the + button to create a version.
The Create version dialog opens.
- Select the Jenkins job and then click Save to create a version.

To use Jenkins jobs as automation tasks in deployment plans, perform the following steps:
- Log in to HCL DevOps Velocity.
- Click Releases on the Navigation bar.
- Click the required release.
- On the Releases page, click the required deployment plan to open the deployment plan page.
- On the deployment plan page, click Create Task.
The Create task dialog box opens.
- In the Type drop-down list, select Jenkins.
- In the Name field, enter a task name.
- In the Description field, enter the description of the task.
- In the Integration drop-down list, select required integration for the task.
- In the Process drop-down list, select required process for the task.
- Select the Wait checkbox to wait for job to finish in Jenkins.
- Perform any of the following step:
- Click Save to save the task and close the dialog.
- Click Save and create another to save the task and create another task.

Configuration properties
The following tables describe the properties used to configure the integration.
- The General Configuration Properties table describes configuration properties used by all plugin integrations.
- The Jenkins Configuration Properties table describes the configuration properties that define the connection and communications with the Jenkins server.
Some properties might not be displayed in the user interface, to see all properties enable the Show Hidden Properties field.
General Configuration properties
Name |
Description |
Required |
Property Name |
NA |
The version of the plugin that you want to use. To view available versions, click the Version History tab. If a value is not specified, the latest version is used. |
No |
image |
Integration Name |
An assigned name to the value stream. |
Yes |
name |
Logging Level |
The level of Log4j messages to display in the log file. Valid values are: all, debug, info, warn, error, fatal, off, and trace. |
No |
loggingLevel |
NA |
List of configuration properties used to connect and communicate with the Jenkins server. Enclose the properties within braces. |
Yes |
properties |
|
The name of the tenant. |
Yes |
tenant_id |
NA |
Unique identifier assigned to the plugin. The value for the Jenkins plugin is ucv-ext-jenkins . |
Yes |
type |
HCL DevOps Velocity User Access Key |
An auto-generated user access key provides credentials for communicating with the HCL DevOps Velocity server. |
Yes |
NA |
Jenkins Configuration Properties
Name |
Type |
Description |
Required |
Jenkins Server URL |
String |
Base URL of the Jenkins server. |
Yes |
Username |
String |
An assigned name to the value stream. |
Yes |
API Token |
Secure |
API Token to authenticate with the Jenkins server. To create one navigate to Jenkins -> User (top right) -> Configure -> Api Token) |
Yes |
Job Filter (xPath) |
String |
Restrict which jobs get synced with an xPath filter string. For example: ‘starts-with(fullName,”folder/path/”)’ to only get jobs in a specific folder or: ‘contains(name,”Team Name”)’ to only get jobs that contain a specific substring or: ‘(starts-with(fullName,”folder/path/”) or contains(name,”Team Name”)) and ends-with(name,”my-suffix”)’ etc… |
No |
Request Timeout |
String |
Timeout (in seconds) to apply to each request to the Jenkins server. |
No |
Request Retries |
String |
Number of times to attempt each request to the Jenkins server (to help eliminate on-off request errors failing entire sync). |
No |
Parallel Requests’ |
Boolean |
Whether or not to make requests to the Jenkins server in parallel (parallelized requests make syncing faster but put more pressure on Jenkins server). |
No |
Request Depth |
String |
The depth of folder levels that Jenkins API requests should make. Increased depth puts more load on each request but requires less requests for deeply nested folder structures. |
No |
Queue Polling Timeout |
String |
Length of time (in minutes) to poll for build to be kicked off from queue. |
No |
Queue Polling Interval |
String |
Time (in seconds) to wait between requests to get build after it is kicked off from queue. |
No |
Build Polling Timeout |
String |
Length of time (in minutes) to wait for build to complete if task is set to wait. |
No |
Build Polling Interval |
String |
Time (in seconds) to wait between requests to check if build completed if task is set to wait. |
No |
Builds on First Fetch |
String |
Number of Builds to initially retrieve per job when getting all Jobs. (max value is 100) |
No |
Builds on Follow-Up Fetches |
String |
Size of the batches of Builds to retrieve if a job contains more builds than “Builds on First Fetch |
No |
Excluded Repository Parameters |
String |
Specify the jenkins job parameter names as a comma-separated list to identify repositories that should be disregarded in the context of the job. |
No |
