Pipeline parameters


Most of the pipelines shown here, use a set of parameters and configuration settings that are taken from several sources.

This table documents the different names these parameters appear under, how and where they are defined/passed into the pipeline, and how to determine which values to specify.

Code Pipeline Webhook parameters

These values are passed via the Code Pipeline Webhook. Each pipeline is setup as parameterized to accept the corresponding values as input.

The first column contains the name as configured in the Jenkins job configuration. The following columns show the variable names used within the code of the corresponding .jenkinsfile/.groovy file.

Jenkins configuration

Basic Pipeline

Shared Library Examples

Combined Pipelines

Source / Name of parameter passed by Webhook

Description

ISPW_Stream
ISPW_Stream
ispwStream
ispwStream
$$stream$$

Code Pipeline stream

ISPW_Application
ISPW_Application
ispwApplication
ispwApplication
$$application$$

Code Pipeline application

ISPW_SubApplication
ISPW_SubApplication    
ispwSubApplication
ispwSubApplication   
$$subapplication$$

Code Pipeline subapplication

ISPW_Release
ISPW_Release
ispwRelease
ispwRelease
$$release$$

Code Pipeline release - depending on the circumstances, the release may be empty

ISPW_Assignment
ISPW_Assignment
ispwAssignment
ispwAssignment
$$assignment$$

Code Pipeline assignment

ISPW_Set_id

not used

ispwSet
ispwSet
$$set$$

Code Pipeline set that was created for a specific operation, like generate or promote

ISPW_Src_Level
ISPW_Src_Level
ispwSrcLevel
ispwSrcLevel
$$level$$

Level in the Code Pipeline life cycle

ISPW_Owner
ISPW_Owner
ispwOwner
ispwOwner
$$owner$$

TSO user id of the user performing the Code Pipeline operation triggering webhook

ISPW_Operation

not used

not used

ISPW_Operation
$$operation$$

Operation in Code Pipeline triggering the webhook, like generate or promote

Important

The ISPW_Operation in the combined example is not used by the two scripts performing the work, but used in the calling code to determine which of the two scripts to call.

Abend-AID webhook parameters

The following variables are available for substituting values from Abend-AID:

Variable

Description

$$pgName$$

The names of the abending program in Abend-AID.

$$loadMon$$

The name of the load module in Abend-AID.

$$userId$$

 The user ID of the abending job in Abend-AID.

$$compDat$$

The compile date of the program being processed in Abend-AID.

$$abndDate$$

The date of the abend dump in Abend-AID.

$$abndTime$$

The time of the abend dump in Abend-AID.

$$abndCode$$

The system or user abnormal termination code in Abend-AID.

$$jobname$$

The name of the abending job in Abend-AID.

$$jobNum$$

The JESID or job number in Abend-AID.

$$region$$

The SYSID of the abending job in Abend-AID.

$$dup$$

This is a duplicate dump and was suppressed during processing in Abend-AID.

$$tran$$

The transaction identifier for the abending transaction in Abend-AID.

$$term$$

The four-character identification number for the terminal at which the abend occurred in Abend-AID.

$$url$$

The URL and PORT number location of the Abend-AID viewer in Abend-AID.

$$notificationId$$

The ID associated with the notification in Abend-AID.

Configuration parameters

These parameters are dependent on environment and configuration. Unlike the previous set of parameters, they will not differ from build to build, and may all be consistent for every job/pipeline in the installation.

Important

To determine where in your configuration to define and set any of these parameters, you should ask yourself:

  • Is the value likely to change between different implementations of Jenkins jobs using the same code? In that case it should rather be a pipeline parameter using a default or be set on the call.
  • Is the value likely to remain the same across all jobs? In that case it should be set in the script or via a configuration file.
  • Should the value be "hidden" from users? In that case it should be set in the script or via a configuration file.

Jenkins configuration / pipeline script call

Jenkins configuration

Basic Pipeline variable

Shared Library variable

Description / Value to use

CES_Token
CES_Token
cesToken
Jenkins_CES_Token
Jenkins_CES_Token
jenkinsCesToken
HCI_Conn_ID
HCI_Conn_ID
hciConnectionId
HCI_Token
HCI_Token
hciToken
CC_Repository
CC_Repository
ccRepository

Code Coverage repository dataset to use for Code Coverage data collection during test execution.

Git_Project
Git_Project
gitProject

Name of the GitHub project used to store Total Test repositories. (GitHub repository URLs are of the form https://github.com/<project>/<repository>)

Git_Credentials
Git_Credentials
gitCredentials

Set in script / via pipelineConfig.yml

Important

  • The code of the Shared Library examples reads the content of the pipelineConfig.yml file into variable pipelineConfig. As a result, a parameter from this file gets referred to by adding this variable name to the path of the parameter, for example: pipelineConfig.git.url
  • Some of the values for the parameters below are fixed by the plugins or tools generating the values.

Basic Pipeline

pipelineConfig.yml

Description / Value to use

Fixed value if applicable

Git_URL
git.url

URL to the git repository server. In the examples https://github.com/. In the basic example the value is set to the GitHub URL plus the GIT_Project 


Git_Ttt_Repo
git.tttRepoExtension

Basic pipeline: Full name of the TTT repository, built from the ISPW_Stream, ISPW_Application and the extension '_Total_Tests.git'.

Shared Library: The extension to use to build the repository name.


Git_Branch
git.branch

Branch of the Git repository to use for Total Test


SQ_Scanner_Name
sq.scannerName

Name of the SonbarQube scanner as defined in the Jenkins Global Tool Configuration


SQ_Server_Name
sq.serverName

Name of the SonarQube server as defined in the Jenkins System Configuration


MF_Source    
ispw.mfSourceFolder

Name of the workspace folder containing the sources downloaded from the mainframe

'MF_Source' (set by Code Pipeline downloader plugin)

XLR_Template
xlr.template

Name of the XL Release release template to trigger after successful execution of a 'promote pipeline'


XLR_User    
xlr.user

Name of the credentials defined with the XL Release configuration


TTT_Base_Folder
ttt.general.folder

Name of workspace folder to clone the Total Test repository into. Creating a separate sub folder simplifies using the Total Test step.


TTT_Vt_Folder   
ttt.virtualized.folder

Sub folder of the test base folder containing virtualized test scenarios. Pointing the Total Test step to this sub folder allows targeted execution of virtualized tests only.


TTT_Vt_Environment    
ttt.virtualized.environment

ID of an environment defined in the  CES repository for Total Test. This will execute only scenarios (.context files) matching the environment.



ttt.virtualized.targetSonarResults

In case several Total Test steps are executed within one build, the results file of any previous step would be replaced by the most current version. To prevent this, the examples rename the original file into this new name.



ttt.nonVirtualized.folder

Sub folder of the test base folder containing non virtualized test scenarios. Pointing the Total Test step to this sub folder allows targeted execution of virtualized tests only.



ttt.nonVirtualized.environment

ID of an environment defined in the CES repository for Total Test. This will execute only scenarios (.context files) matching the environment.



ttt.nonVirtualized.targetSonarResults

In case several Total Test steps are executed within one build, the results file of any previous step would be replaced by the most current version. To prevent this, the examples rename the original file into this new name.


TTT_Sonar_Results_File
ttt.general.sonarResultsFolder + ttt.general.sonarResultsFile

Name and path within the workspace of the Total Test results file in SonarQube format

'generated.cli.suite.sonar.xml' (set by the Total Test plugin)

CES_Url
ces.url

URL to the CES to use for Total Test or Code Pipeline operations and defined in Jenkins System Configuration


ISPW_Runtime
ispw.runtime

Name of the Code Pipelineruntime configuration to use. Determined by your Code Pipelineadministrator.


ISPW_Changed_Programs_File  
ispw.changedProgramsFile

Name of the .json file containing the list of components affected by an Code Pipeline step

'changedPrograms.json' (set by Code Pipeline plugins)


 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*