Note: HCL DevOps Velocity (Velocity) is the new name of HCL Accelerate from version 5.0.0 onwards.
We have introduced a new plug-in for Jenkins which works as any other plug-in of Accelerate product. Earlier we had Jenkins features embedded into Accelerate core product itself (now we are calling it Jenkins Legacy).
Description
Jenkins plug-in in HCL Accelerate will pull jobs from Jenkins and provide as an Input to the release pipelines or as an automation task in deployment plan. This helps deployment teams to orchestrate the deployment of the input builds into controlled environments with defined checks and balances. This is a scheduled plug-in that runs every 5 minutes to check any new builds in Jenkins and pull them into HCL Accelerate.
Note: HCL DevOps Velocity (Velocity) is the new name of HCL Accelerate from version 5.0.0 onwards.
Jenkins plug-in is a powerful tool for managing software delivery pipelines in HCL Accelerate (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 Accelerate (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 Accelerate. 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 Accelerate (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 Accelerate (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.
History
The following table describes the changes made in each plug-in version.
Version
Description
1.0.4
· Fixed integration name not showing in pipeline stage task selection.
· Fixed external build link not appearing in deployment plan task.
1.0.1
Initial release.
Integration steps
The tables in the Configuration properties describe the properties to define the integration.
To install the plug-in, perform the following steps:
From the home page, click Settings > Integrations > Available.
In the Action column for the Jenkins plug-in, click Install.
To integrate the plug-in, perform the following steps:
From the home page, click Settings > Integrations > Installed.
In the Action column for the Jenkins plug-in, click Add Integration.
On the Add Integration page, enter values for the fields used to configure the integration and define communication.
Click Save.
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 Accelerate (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.
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 GitLab plugin is ucv-ext-jenkins.
Yes
type
HCL Accelerate User Access Key
An auto-generated user access key provides credentials for communicating with the HCL Accelerate server.
Yes
NA
Jenkins Properties
Name
Type
Description
Required
Jenkins Server URL
String
Base URL of the Jenkins server.
Yes
Username
String
Username to authenticate with the Jenkins server
Yes
API Token
Secure
API Token to authenticate with the Jenkins server.</br>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.
Bug Fix: The Jenkins task in deployment remains incomplete when the Velocity instance goes down during deployment. When the instance comes back online with the new version, the task still does not get marked as complete.