IBM z/OS Connector is a plugin which lets you connect your Jenkins to z/OS.
Plugin Information |
---|
View IBM z/OS Connector on the plugin site for more information. |
Older versions of this plugin may not be safe to use. Please review the following warnings before using an older version:
What's new?
- 1.2.3 – JESINTERFACELEVEL=1 output changes and configuration corrections.
- 1.2.2 – JESINTERFACELEVEL=1 support.
- 1.2.1 – dummy release.
- 1.2.0.2 – add initial wait before listing jobs in JES (see JENKINS-31757).
- 1.2.0.1 – add error message if job is not listed while waiting for its execution to end (possible problem with JESINTERFACELEVEL=1).
- 1.2.0 – add JobName to output log file name. Change log file naming convention.
- 1.1.1 – add environment variables expansion for "Submit z/OS job" build step. Add loggers.
- 1.1.0 – add MaxCC papameter to 'Submit z/OS job' build step (see JENKINS-29214).
- 1.0.4 – add support for 'RC unknown'.
- 1.0.3 – fix for JENKINS-29173.
About
This plugin provides its functions via FTP connection to IBM z/OS LPAR. You can configure your SCLM project on z/OS and then check for the changes via Jenkins.
Features include:
- Submission of user JCL job (with optional log collected upon finish)
- Introduction of SCLM as SCM for your projects allowing to ceckout SCLM changes
- The ability to build SCLM projects currently can be performed only via 'Submit zOS Job' build action
Configuration
JESINTERFACELEVEL differences
Job Name must be configured accordingly to your FTP server configuration:
- If JESINTERFACELEVEL=1 is configured, only a job named USERIDx (USERID - your z/OS user ID, x - strictly 1 character) can be processed correctly (when you are waiting for the job to end).
- If JESINTERFACELEVEL=2 is configired, no additional considerations are required.
After you've installed IBM zOS Connector into your jenkins CI you will need to do the following steps in order to enable its functionality.
SCLM integration
In the Jenkins CI project select 'SCLM' as SCM.
In the menu you have to configure the following parameters:
Parameter name |
Description |
---|---|
Server |
IBM z/OS LPAR name or IP address |
Port |
LPAR FTP port availible for communication |
Username |
z/OS User ID |
Password |
z/OS user password |
Project |
SCLM Project Name |
Alternate |
SCLM Project Alternate Definition |
Group |
SCLM Group to watch |
Types |
Comma-separated SCLM types you want to watch for changes (for example, HLASM, MACRO, JAVA, C, ...) |
Additionally, you can specify custom job header and step for SCLM communication. 'Custom job step' means only the libraries needed for ISPF connection. Basically, if you have the standart z/OS installation you'll never need this. However, if the libraries you can see there are named differently or you want to use different version of them, please, define all the DDNames mentioned in the dropping text.
//SCLMEX EXEC PGM=IKJEFT01,REGION=4096K,TIME=1439,DYNAMNBR=200 //STEPLIB DD DSN=ISP.SISPLPA,DISP=SHR // DD DSN=ISP.SISPLOAD,DISP=SHR //ISPMLIB DD DSN=ISP.SISPMENU,DISP=SHR //ISPSLIB DD DSN=ISP.SISPSENU,DISP=SHR // DD DSN=ISP.SISPSLIB,DISP=SHR //ISPPLIB DD DSN=ISP.SISPPENU,DISP=SHR //ISPTLIB DD UNIT=@TEMP0,DISP=(NEW,PASS),SPACE=(CYL,(1,1,5)), // DCB=(LRECL=80,BLKSIZE=19040,DSORG=PO,RECFM=FB), // DSN= // DD DSN=ISP.SISPTENU,DISP=SHR //ISPTABL DD UNIT=@TEMP0,DISP=(NEW,PASS),SPACE=(CYL,(1,1,5)), // DCB=(LRECL=80,BLKSIZE=19040,DSORG=PO,RECFM=FB), // DSN= //ISPPROF DD UNIT=@TEMP0,DISP=(NEW,PASS),SPACE=(CYL,(1,1,5)), // DCB=(LRECL=80,BLKSIZE=19040,DSORG=PO,RECFM=FB), // DSN= //ISPLOG DD SYSOUT=*, // DCB=(LRECL=120,BLKSIZE=2400,DSORG=PS,RECFM=FB) //ISPCTL1 DD DISP=NEW,UNIT=@TEMP0,SPACE=(CYL,(1,1)), // DCB=(LRECL=80,BLKSIZE=800,RECFM=FB) //SYSTERM DD SYSOUT=* //SYSPROC DD DSN=ISP.SISPCLIB,DISP=SHR //FLMMSGS DD SYSOUT=(*) //PASCERR DD SYSOUT=(*) //ZFLMDD DD * ZFLMNLST=FLMNLENU ZFLMTRMT=ISR3278 ZDATEF=YY/MM/DD /* //SYSPRINT DD SYSOUT=(*) //SYSTSPRT DD SYSOUT=(*)
Advanced setings include an option to notify Jenkins that z/OS FTP server is configured with JESINTERFACELEVEL=1.
JESINTERFACELEVEL configuration
You must configure this setting according to z/OS FTP server configuration.
Otherwise, the plugin may fail with error while trying to obtain job RC.
Submitting JCL job
Firstly, select 'Submit z/OS job' in the Build Actions.
After that, fill in the following parameters (note that some of the parameters can be specified by system variables):
Parameter name |
Description |
---|---|
Server |
IBM z/OS LPAR name or IP address |
Port |
LPAR FTP port availible for communication |
Username |
z/OS User ID |
Password |
z/OS user password |
Job |
JCL of the job you want to be submitted |
Additionally, you can make Jenkins CI wait for the job's completion. It will make Jankins CI save the joblog named
Job_Name - [CC] (LPAR - JES_Job_ID) Jenkins_Project_name - Build_ID.log
If you want, you also may limit the time Jenkins waits for the job completion and add MaxCC (so that job which finished with CC=4 will be considered to be OK).
'Delete job log from Spool' allows Jenkins to delete the held job output upon job completion.
Advanced setings include an option to notify Jenkins that z/OS FTP server is configured with JESINTERFACELEVEL=1.
JESINTERFACELEVEL configuration
You must configure this setting according to z/OS FTP server configuration.
Otherwise, the plugin may fail with error while trying to obtain job RC.
Environment variables
Currently IBM zOS Connector supports the following parameters of "Submit z/OS Job" build step to have any environment variables:
Parameter name |
Description |
---|---|
Server |
IBM z/OS LPAR name or IP address |
Username |
z/OS User ID |
Password |
z/OS user password |
Job |
JCL of the job you want to be submitted |
MaxCC |
The highest Condition Code job can have to be considered OK |