z/OS DevOps Jenkins plugin - mainframes automation plugin, working through z/OSMF REST API and using ZOWE Kotlin SDK.
EPL-2.0 License
The Zowe zDevOps Jenkins Plugin by IBA Group is an open-source, secure , and reliable agent-less Jenkins plugin that makes it possible to perform most of the actual tasks on the mainframe, managing it with a modern native mainframe zOSMF REST API and the capabilities of available zOSMF SDKs.
With over 30 years of experience in the mainframe domain, IBA Group is committed to maximizing your mainframe investment and enhancing your IT flexibility.
One of the services we offer is Mainframe DevOps. Our approach is highly flexible, as we work with customers to choose the essential toolset for establishing a pipeline based on their preferences, existing tools, and the latest open-source opportunities (such as Zowe and plugins).
We are also familiar with Mainframe DevOps Solutions of 2023 that can help modernize your mainframe and keep you competitive.
We value your feedback and welcome any suggestions, proposals, or even complaints.
Please feel free to contact us or schedule a call with our Mainframe DevOps expert.
Thank you for considering IBA Group for your mainframe needs.
The plugin are packaged as self-contained .hpi files, which have all the necessary code, images, and other resources which the plugin needs to operate successfully.
Assuming a .hpi file has been downloaded, a logged-in Jenkins administrator may upload the file from within the web UI:
target
dir with generated-sources - you have to run the Maven command: mvn localizer:generate
mvn install
or by mvn hpi:hpi
.After successfully installing the plugin, you need to configure it for further work - this will require a minimum of actions.
z/os-connection-name
https://<ip-addres>:<port number>
You can save as many connections as you like, the system will keep the corresponding user IDs/passwords.
Pipeline
and open its configuration.stage ("stage-name") {
steps {
// ...
zosmf("z/os-connection-name") {
submitJob "//'EXAMPLE.DATASET(JCLJOB)'"
submitJobSync "//'EXAMPLE.DATASET(JCLJOB)'"
downloadDS "USER.LIB(MEMBER)"
downloadDS dsn:"USER.LIB(MEMBER)", vol:"VOL001"
allocateDS dsn:"STV.TEST5", alcUnit:"TRK", dsOrg:"PS", primary:1, secondary:1, recFm:"FB"
writeFileToDS dsn:"USER.DATASET", file:"workspaceFile"
writeFileToDS dsn:"USER.DATASET", file:"D:\\files\\localFile"
writeToDS dsn:"USER.DATASET", text:"Write this string to dataset"
writeFileToMember dsn:"USER.DATASET", member:"MEMBER", file:"workspaceFile"
writeFileToMember dsn:"USER.DATASET", member:"MEMBER", file:"D:\\files\\localFile"
writeToMember dsn:"USER.DATASET", member:"MEMBER", text:"Write this string to member"
writeToFile destFile: "u/USER/doc", text: "Hello there"
writeFileToFile destFile: "u/USER/doc", sourceFile: "myfile.txt"
writeFileToFile destFile: "u/USER/doc", sourceFile: "myfile.txt", binary: "true"
deleteDataset dsn:"USER.DATASET"
deleteDataset dsn:"USER.DATASET", member:"MEMBER1"
deleteDatasetsByMask mask:"USER.DATASET.*"
}
// ...
}
}
For debugging purposes run following Maven command from plugin project directory:
mvn hpi:run
Or by mvnDebug hpi:run
- this will copy all the dependencies down (rather than in your jenkins install) and run it in place.
By default, the debugging instance is then available at http://localhost:8080/jenkins in your browser.
In order to launch Jenkins on a different port than 8080 use this system property:
mvn hpi:run -Djetty.port=8090
Changing the default context path can be achieved by setting this system property:
mvn hpi:run -Dhpi.prefix=/debug