In the fast-paced world of z/OS development, efficiency is everything. We’ve all been there: you have a component version containing multiple artifacts (like FEATURE1 and FEATURE2), but you only need to deploy one of them to production as shown below

Figure 1: Artifacts of a source version with Feature1 and Feature2
Traditionally, the workaround was to go back to your Source Control Management (SCM) system, rebuild the specific artifacts, and create an entirely new component version. It’s a process that is not only time-consuming but can also be a significant bottleneck that could introduce delays in the delivery pipeline.
The Pain Point
It can feel like a real hurdle to jump back to the SCM just to remove a handful of files when your current version already holds all the required code. This adds redundant steps and slows down the entire deployment pipeline. Based on this valuable feedback from our users, we recognized the clear need for a more efficient solution.
The Solution: Creating Sub-Versions
We’ve developed a new plugin step that allows you to create a "sub-version" directly from an existing version. This capability lets you define exactly which artifacts to include or exclude, giving you granular control without the need to rebuild from scratch.
By setting up a simple, generic process in IBM DevOps Deploy, you can now:
-
Select your Source Version: Point to the existing version containing your full set of artifacts.
-
Define your Filters: Use simple inclusion/exclusion rules to isolate the files you need.
-
Generate the Sub-Version: Provide a name for the new sub-version and execute the process to create a clean, targeted version ready for production.

Figure 2: Generic Process to create a sub version
Why this matters
This feature is all about agility. By removing the need to trigger a full rebuild for minor deployments, you reduce the risk of configuration drift and speed up your time-to-market.
Scenario Example
Consider a scenario where your component includes Load libraries and COBOL programs for both FEATURE1 and FEATURE2. To deploy only FEATURE2, you can apply the following filters within the plugin configuration:
-
/.*COBOL/, FEATURE2
-
/.*LOAD/, FEATURE2
Following execution, a new version is automatically generated by the system, isolating and containing only the specified items as illustrated below

Figure 3: Artifacts of a sub version with only Feature2
Required Steps Before Proceeding
To get started, make sure the z/OS Utility plugin on your IBM DevOps Deploy server is updated to the newest release. Alternatively, you can obtain the latest version directly from the following download page:
https://urbancode.github.io/IBM-UCx-PLUGIN-DOCS/UCD/zos-deploy/downloads.html
Depending on where your component versions are maintained, follow the appropriate instructions below:
For Internal Repositories (Codestation):
If you store versions internally within IBM DevOps Deploy Codestation, use the process detailed here:
https://urbancode.github.io/IBM-UCx-PLUGIN-DOCS/UCD/zos-deploy/steps.html#create-sub-version-from-version
For External Repositories (Nexus / JFrog Artifactory):
If you utilize an external repository such as JFrog Artifactory or Nexus for version storage, refer to this specific step instead:
https://urbancode.github.io/IBM-UCx-PLUGIN-DOCS/UCD/zos-deploy/steps.html#create-sub-version-from-version-for-external-repository
Have you tried using sub-versions in your pipeline yet? Let us know how this process has improved your deployment workflow!