The following plugin provides functionality available through
Pipeline-compatible steps. Read more about how to integrate steps into your
Pipeline in the
Steps
section of the
Pipeline Syntax
page.
For a list of other such plugins, see the
Pipeline Steps Reference
page.
Cadence vManager Plugin for Jenkins
step([$class: 'DSLPublisher'])
: vManager Post Build Actions
vAPIUrl
vManager expose a REST API interface for API. The REST API is a dedicated process for serving remote http requests - vAPI.
Starting 14.1 s005 The vAPI process is served automatically by the vManager Server process, and as such you need to supply the following url:
https://[VMANAGER_HOST:VMANAGER_PORT]/vmgr/vapi
For vmanager 14.1 s002, the vAPI process need to get started manually, as such, the url syntaxt is:
http://[VAPI_HOST:VAPI_PORT]/vmgr
vAPIUser
In case of a secure mode, the userId will be shown as the user who perform the operation within vManager tool.
In case of open mode, the default userid that will be used is "vapi".
vAPIPassword
In case of a secure mode, a password is needed
Please contact vManager documentation for further info.
authRequired
vManager vAPI can operate in one of two modes:
- Secured by user/secret key
- Open
In case of a secure mode, the userId (vAPI User) will be shown as the user who perform the operation within vManager tool.
In case of open mode, the default userid that will be used is "vapi".
advConfig
dynamicUserId
In case of a need in dynamically selecting the user name per job, the pre-job should place into the workspace directory a file with single line that contains the userid to be used.
The file name should be: ${BUILD_NUMBER}.${BUILD_ID}.user.input"
The job will pick the userid which is in the file, and connect to vAPI using this userid and the vAPI secret key.
connTimeout
Connection Timeout is the time (in minutes) for the Jenkins executor to wait till it establish a connection with the vManager server. It is usually very fast, so no need to change the default (1 minute).
Setting the time to 0 means an unlimited time. In case it is taking too long to establish a connection, and the time passed is more than the Connection Timeout set, the connection to the vManager server will be closed, and the Jenkins executor will be able to continue. The vAPI operation will fail (it will not start), and the build will be marked as failed.
If no Connection timeout is set, the default is 1 minutes.
readTimeout
Read Timeout is the time (in minutes) for the Jenkins executor to wait for vManager server to end the current operation. In heavy operations such as collect compact or ranking, the time to response back can vary, and might even take an hour or so depends on the load the vManager server is experiencing.
Setting the time to 0 means an unlimited time. In case the vAPI call is taking too long, and is more than the Read Timeout set, the connection to the vManager server will be closed, and the Jenkins executor will be able to continue. The vAPI operation will not fail, but the build will be marked as failed.
If no Read timeout is set, the default is 30 minutes.
advancedFunctions
retrieveSummaryReport
runReport
metricsReport
vPlanReport
testsViewName
metricsViewName
vplanViewName
testsDepth
metricsDepth
vPlanDepth
metricsInputType
metricsAdvanceInput
In case of a need to take advantage of the full summary report flags, you can use a json structure to define the rest of the flags the vAPI supports.
The following structure addresses the flags relevant for the metrics part only (for more information, check the full vAPI electronic docs on the web):
{
"depth": 4,
"instances": true,
"types": true,
"extended": true,
"path": "string",
"scope": "string"
}
depth: integer ($int32) (Metrics tree level depth. Default value is the whole tree)
scope: string (Metrics verification scope)
path: string (Full Path to entity in Metrics tree.)
instances: boolean (Specify if vPlan entity is in the instances hierarchy)
types: boolean (Specify if vPlan entity is in the types hierarchy)
extended: boolean (Enables or disables extended metrics report, if not specified the report would be extended according to metrics configuration)
None of the fields are mandatory to exclude "depth".
vPlanInputType
vPlanAdvanceInput
In case of a need to take advantage of the full summary report flags, you can use a json structure to define the rest of the flags the vAPI supports.
The following structure addresses the flags relevant for the vPlan part only (for more information, check the full vAPI electronic docs on the web):
{
"depth": 4,
"perspective": "string",
"multiPerspectives": [array - look for more information within the documentation] "instances": true,
"types": true,
"extended": true,
"path": "string",
"vplanNode": "string"
}
{ "depth": 20, "perspective": "APB_UART", "instances": true, "types": true, "extended": true } depth: integer ($int32) (vPlan tree level depth. Default value is the whole tree)
perspective: string (Perspective to report. if not specified the default plan perspective would be used)
multiPerspectives: [...]
vplanNode: string (Full Path to perspective/section/port in vPlan tree.)
path: string (specify if to use vplanNode, instances or types for vPlan entity. If not specified the perspective is used)
instances: boolean (Specify if vPlan entity is in the instances hierarchy)
types: boolean (Specify if vPlan entity is in the types hierarchy)
extended: boolean (Enables or disables extended vplan report. if not specified the report would be extended according to vplan configuration)
None of the fields are mandatory to exclude "depth".
vPlanxFileName
summaryType
ctxInput
ctxAdvanceInput
In case of a need to take advantage of the full summary report flags, you can use a json structure to define the rest of the flags the vAPI supports.
The following structure addresses the flags relevant for the vPlan and Metrics parts and gives you more control over refinements (for more information, check the full vAPI electronic docs on the web):
{
"depth": 4,
"refinementFile": "string",
"vplanFile": "string",
"vplanRefinementFile": "string",
"environment": "string",
"multiPerspectives": [array - look for more information within the documentation],
"multiPerspectives": [array - look for more information within the documentation],
"multiPerspectives": [array - look for more information within the documentation]
}
None of the fields are mandatory, however - please note that adding "vplanFile" here, will overwrite anything you placed within "vPlanx file name".
("vPlanx file name" field is not mandatory in case you choose to use the advanced context input)
freeVAPISyntax
In case of a need in taking full control over the vAPI parameters of the summary report, the pre-job should place into the workspace directory a file with the json input for the /reports/generate-summary-report vAPI.
The input file should be place into the working directory. In case this field is empty, The file name need to be: ${BUILD_NUMBER}.${BUILD_ID}.summary_report.input
Please fill this field only in case, you want to hard code the input file name, to be consist across all builds.
Please exclude the "rs" section from this json. This plugin will automatically fill in the "rs" based on the sessions launched during the build process.
deleteReportSyntaxInputFile
vManagerVersion
sendEmail
emailList
emailType
emailInputFile
In case of a need in providing a dynamic list of email addresses, the pre-job should place into the workspace directory a file with the relevant emails, one email address per line (without a comma between).
The input file should be place into the working directory. In case this field is empty, The file name need to be: ${BUILD_NUMBER}.${BUILD_ID}.emails.input
Please fill this field only in case, you want to hard code the input file name, to be consist across all builds.
Disclaimer: In case you choose to work with the "free vAPI syntax" option, you have the option to supply the list of emails as part of the free vAPI json structure (optionally) - in such cases, this field will be ignored.
deleteEmailInputFile
summaryMode
ignoreSSLError
This option is only relevant if you choose vManager Version < 19.09.
If the vManager version is smaller than 19.09, the report is being retrieved by parsing the html web page of the report generated using http connection.
Since vManager Web Server is having by default a self-signed certificate, normal http connection will fail to get validated and the connection will get rejected.
If you replaced the server certificate with a signed one of your own, you can leave it as default. Unless, if you are using the default vManager installed self-signed certificate - the only way to overcome its SSL validation is to allow the connection from the Jenkins to the vManager server at the time of the report retrieval only to skip validation.
vmanagerLaunch
: Cadence vManager Session Launcher
vAPIUrl
vManager expose a REST API interface for API. The REST API is a dedicated process for serving remote http requests - vAPI.
Starting 14.1 s005 The vAPI process is served automatically by the vManager Server process, and as such you need to supply the following url:
https://[VMANAGER_HOST:VMANAGER_PORT]/vmgr/vapi
For vmanager 14.1 s002, the vAPI process need to get started manually, as such, the url syntaxt is:
http://[VAPI_HOST:VAPI_PORT]/vmgr
vAPIUser
In case of a secure mode, the userId will be shown as the user who perform the operation within vManager tool.
In case of open mode, the default userid that will be used is "vapi".
vAPIPassword
In case of a secure mode, a password is needed
Please contact vManager documentation for further info.
vSIFName
vSIFInputFile
In case of a need in dynamically selecting the vsif files to get launched per job, the pre-job should place into the workspace directory a file with the full paths of the relevant vsif files to be launched, new line for each additional vsif file.
The input file should be place into the working directory. In case this field is empty, The file name need to be: ${BUILD_NUMBER}.${BUILD_ID}.vsif.input
Please fill this field only in case, you want to hard code the input file name, to be consist across all builds.
The output of all IDs of the launched sessions can be found at: ${BUILD_NUMBER}.${BUILD_ID}.session_launch.output
credentialInputFile
Supported only from 16.1 and above.
vManager can execute jobs in one of two modes:
- Same user permissions (the account permission where the vManager server is installed) for all jobs launched by the vAPI/Jenkins.
- Use the Linux account permissions of the actual user who is doing the launch operation.
Default (unchecked above) is for the vManager to launch job by using the account permissions where the server is installed.
When this box is checked, user can choose between using the same credentials used within the authentication section above, or supply a file with user/password in plain text containing only two lines:
username
password
For this (dynamic user/password), a pre-job should place any file into its working directory, and supply the full path to it.
In case this field is empty, The file name need to be: ${BUILD_NUMBER}.${BUILD_ID}.credential.input, and should be place in the working directory of the current running build.
Please fill this field only in case you want to hard code the input file name, to be consist across all builds.
deleteInputFile
deleteCredentialInputFile
useUserOnFarm
authRequired
vManager vAPI can operate in one of two modes:
Secured by user/secret key
Open In case of a secure mode, the userId (vAPI User) will be shown as the user who perform the operation within vManager tool.
In case of open mode, the default userid that will be used is "vapi".