Git to ISPW Integration - The ISPW YAML Configuration File
An ISPW YAML configuration file is required for the Git to ISPW integration. A YAML configuration file can be created from a Git project within Topaz based on the content of the project. To create a YAML file, refer to the Git to ISPW Integration – A Tutorial’s Set up a Git project with the source, YAML file, and Jenkinsfile, and set up a Jenkins multibranch pipeline section’s Step 5.
The YAML configuration file contains ISPW property settings and path mappings.
ISPW Property Settings
The YAML configuration file must contain the following ISPW property settings:
- host - The host name or IP address of the ISPW communications interface (CI) task. Compuware recommends using the fully qualified domain name when specifying the host.
- port - The port number for the communications interface (CI) task.
- stream - A 2- to 8-character code that defines the application structure with which the application is associated.
- application - A 4-character application ID.
The YAML configuration file may optionally contain the following ISPW property setting:
- runtime configuration - The name of the runtime configuration. A runtime configuration represents a group of settings (dataset allocations, site customizations, skeleton JCLs, Clists) that can be applied to an ISPW server. No runtime configuration is required if a default runtime configuration was specified as part of the ISPW install and you want to use that instance.
The YAML configuration file must contain the following path mappings:
path - The file path of the project, such as \MYFILE\COB). This path applies to any nested paths unless it’s defined separately, such as \MYFILE\COB\SOURCE.
Note: ISPW/Eclipse also supports using Java pattern matching. Pattern matching uses special characters to create a glob pattern and then relative path names can be compared against that pattern. Refer to Java Pattern Matching below.
types - The YAML configuration file must contain the following two types:
fileExtension - The file extension type for each path mapping (such as cob or clst)
ispwType - The ISPW type for each path mapping (such as COB or CLST)
The YAML configuration file may optionally contain the following types:
- cics - A ‘Yes’ or ‘No’ value indicating whether the source contains CICS
- flag1 - A user-defined flag with a one-character value
- flag2 - A user-defined flag with a one-character value
- flag3 - A user-defined flag with a one-character value
- flag4 - A user-defined flag with a one-character value
- genParms - A user-defined string with an 8-character value
- ims - A ‘Yes’ or ‘No’ value indicating whether the source contains IMS
- progType - A ‘Yes’ or ‘No’ value indicating whether the source is an executable component
- sql - A ‘Yes’ or ‘No’ value indicating whether the source contains SQL
The following is a sample of a YAML configuration file.
!!com.compuware.ispw.cli.model.IspwRoot ispwApplication: application: PLAY host: cw09.compuware.com pathMappings: - path: \ASM types: - fileExtension: asm ispwType: ASM - path: \C types: - fileExtension: c ispwType: C - path: \CLST types: - fileExtension: clst ispwType: CLST - path: \COB types: - cics: 'No' fileExtension: cob flag1: A flag2: B flag3: C flag4: D genParms: GENPARMS ims: 'No' ispwType: COB progType: 'Yes' sql: 'No' - path: \COPY types: - fileExtension: COPY ispwType: COPY - path: \JOB types: - fileExtension: job ispwType: JOB - path: \PLI types: - fileExtension: pli ispwType: PLI port: 47623 runtimeConfig: TPZP stream: PLAY
Multiple types can exist under the same path within the YAML file. In the following example path entry, the fileExtension and ispwType types are shown twice in the same path.
\- path: \FILES types: \- fileExtension: cob ispwType: COB \- fileExtension: pli ispwType: PLI
Java Pattern Matching
ISPW/Eclipse supports using Java pattern matching. Pattern matching uses special characters to create a glob pattern and then relative path names can be compared against that pattern.
The following rules are used to interpret glob patterns:
The * character matches zero or more characters of a name component without crossing directory boundaries.
The ** characters matches zero or more characters crossing directory boundaries.
The ? character matches exactly one character of a name component.
When the syntax is "glob", then the string representation of the path is matched using a limited pattern language that resembles regular expressions but with a simpler syntax. For example:
|/home/*/*||Matches /home/gus/data on UNIX platforms|
|/home/**||Matches /home/gus and /home/gus/data on UNIX platforms|
The expression string in YAML must be surrounded by double quotes.