Overview
The z/OS Multi Generate Artifact Information plug-in scans version artifacts and generates text based on a template. You can use the generated output text as input to subsequent steps. The plug-in processes data sets and members in a component version.
This plug-in is an extension of the z/OS Utility plug-in for generating artifact information. The z/OS Multiple Generate Artifact Information plug-in have additional features given below.
- Ability to set multiple templates to multiple properties
- Ability to generate multiple properties using one step
This plug-in contains one step:
- Generate Multiple Artifact Information
Use the Generate Multiple Artifact Information step to select a set of artifacts to process by applying filters on data set names, member names, deployment types, and custom properties for each output property.
Compatibility
This plug-in requires HCL Launch version 7.1.0 or later and an HCL Launch agent on z/OS.
This plug-in works with IBM z/OS version 1.9 or later.
Step palette
To access this plug-in in the palette, click Utilities > zOS Multi Generate Artifact Information.
Installation
This plug-in is installed when installing HCL Launch. When new plug-in versions are available, follow the installation instructions to update the plug-in.
History
Version 6
- Minor improvements in plugin name and description
- Fixed issue with filtering containers mapped to same Target PDS in Generate Artifact step
Version 5
- Delete and Update/Create Deploy-Action types on same container/PDS is made possible
- Added input to filter based on artifact created or updated
Version 4
- Added support to optionally ignore unresolved properties
Version 3
- Added support to run in non z/OS environment as well
Version 1
Steps
Generate Multiple Artifact Information
Generate multiple text information for selected version artifacts. The information is sent to the output properties for use by later steps.
Note: Action filter is applicable only if Backup is enabled in deploy data sets step
Input properties for the Generate Multiple Artifact Information step
Name |
Type |
Description |
Required |
Property Name |
Container Name Filter JSON |
String |
The filter to limit Source datasets in template for an output property. Specify the filter as a Java regular expression matching which must begin and end with a forward slash (/). For example, /.*LOAD/ matches any text that ends with LOAD. If the filter is not a regular expression, exact matching is used. |
No |
srcDatasetName |
Custom Properties Filter JSON |
String |
The filter to limit Custom properties in the template for an output property. Specify each filter in the format: propertyName=valueFilter and separate each filter with
a newline character. A property without a value selects all artifacts related to the specified property. Java regular expression matching is used if the filter begins and ends with a forward slash (/). For example, developer=/M.*/ matches artifacts for the developer property where the value of the property starts with M. |
No |
custProperties |
Deploy Type Filter JSON |
String |
The filter to limit Deploy Types in template for an output property. Specify the filter as a Java regular expression matching which must begin and end with a forward slash (/). For example, specify /.*SRC.*/ to match any text that contains SRC. If the filter is not a regular expression, exact matching is used. |
No |
deployTypeName |
Deployment action Filter JSON |
String |
The filter to limit target datasets and members based on type of deployment action performed. Possible action values are created or updated . For example: If the action value is set to created , then artifacts which are newly created in target environment are selected. Note: Action values are case-insensitive. If value is empty or no value is passed then both created and updated artifacts are selected. |
No |
deployAction |
For Each |
Enumeration |
Generate information for each of the selected artifact type. Valid value types are: PDS , sequential , deleted member , deleted PDS , and deleted sequential . |
Yes |
loopType |
Order By |
Enumeration |
Order by ASC,DESC, or SHIPLIST. |
Yes |
orderBy |
Resource Name Filter JSON |
String |
The filter to limit PDS Members in template for an output property. Specify the filter as a Java regular expression matching which must begin and end with a forward slash(/). For example, /PGM.*/ matches any text that starts with PGM. If the filter is not a regular expression, exact matching is used. |
No |
memberName |
Target Data Set Name Filter JSON |
String |
The filter to limit Target datasets in template for an output property. Specify the filter as a Java regular expression matching which must begin and end with a forward slash(/). For example, /.*LOAD/ matches any text that ends with LOAD. If the filter is not a regular expression, exact matching is used. |
No |
datasetName |
Template JSON |
String |
Define template for each output property to generate customized text. Subsequent steps can access the customized text with ${p:Step-Name/output-property-name} . For example: if the step name is ‘Bind Card Generator’ and output property is ‘CicsBindText’, then the property can be referred in subsequent steps as ${p:Bind Card Generator/CicsBindText} . Add separators like comma or newline using character ‘,’ or ‘\n’ in the template as needed. Use ${propname} to access custom properties. The following built-in properties are available: ${sourceDataset} for the source dataset name, ${dataset} for the target dataset name, ${member} for the member name, and ${deployType} for the deployment type. All property names are case-sensitive. Do not use the built-in names for custom properties. |
Yes |
templateText |
Usage
Use the Generate Multiple Artifact Information plug-in to generate one or more multiple properties from z/OS artifacts. The plug-in extracts data based on filters.
Example
This examples demonstrates using the plug-in to extract data based on filters to generate multiple templates in JSON format. The example is based on the version and containers shown below.
The sample JSON contains two templates assigned to properties Prop-DBRM and Prop-CICS.
{
Prop-DBRM : “ BIND (${member}) LIBRARY(‘${dataset}’) \n” ,
Prop-CICS: “ CEMT SET PROGRAM(${member}) NEWC \n”
}
- Prop-DBRM contains each members bind statements for DB2 Binding process
- Prop-CICS contains RDO commands to set the latest copy of program in CICS
There is a CICS program under the COBOL container with name the CARP001 as shown below.
To filter COBOL and DBRM containers, the JSON template in Container filter JSON can be defined as:
{
Prop-CICS: “/.*COBOL/”,
Prop-DBRM: “/.*DBRM/”
}
To filter member/resource name under the above container, the JSON template in Resource filter JSON can be defined as:
{
Prop-CICS: “/CARP001/”
}
After the plug-in step completes, the following output is received. Please note that in addition to Prop-CICS and Prop-DBRM, we generate an additional count (Prop-CICS-count and Prop-DBRM-count) that can be used with a “switch” step in the component process to decide whether to do a bind or not.
Similarly, you can deploy and custom property filters to create a template with only selected elements.