Schema URL

Type: object

JSON schema for zapp.json and zapp.yaml files. Version 1.8.0 -- Licensed Materials - Property of IBM - (c) Copyright IBM Corporation 2022, 2025. All Rights Reserved.

Any of

1. coreProperties object

Definitions

coreProperties object
name string required

The name of the Z Project.

minLength=1maxLength=214
description string

This helps people understand your project as it would be used by tools.

version string

Version is a string and it must be parsable for managing dependencies.

Default: "1.0.0"
groupId string

Defines a group name that is shared for each application part in case of applications composed of multiple parts. Allows to uniquely identify the parts by concatenating with the artifact id. For example a groupId com.ibm.wazi with an artifactId service would create the unique application identifier com.ibm.wazi.service.

Examples: "com.ibm.wazi", "payments"
artifactId string

Define id of the application artifact. Use it in combination with a groupId for multi-part applications.

Default: ""
Examples: "sam"
parentId string

In case of a multi-part application defines the name of the parent application part. This zapp will inherit properties such as propertyGroups defined in the parent.

Default: ""
Examples: "com.ibm.wazi.parent"
keywords string[]

This helps people discover your project.

homepage string

The url to the project homepage.

One of: variant, enum enum
license string

You should specify a license for your package so that people know how they are permitted to use it and any restrictions you're placing on it.

A person who has been involved in creating or maintaining this package

3 nested properties
name string required
url string
format=uri
email string
format=email
contributors person[]

A list of people who contributed to this package.

minItems=1
maintainers person[]

A list of people who maintain this package.

minItems=1
propertyGroups propertyGroupItem[]

A list of properties defining path names for resolving dependencies.

minItems=1
profiles profile[]

Profiles are additional groups of properties that should only become valid under specific conditions such as running in a build job or as part of a debug session.

minItems=1
propertyGroupItem object
name string required

The name of the property group, which is used in hovers and error messages.

Examples: "sample-local", "sample-remote"
language string

Limits the property group to one specific language.

Values: "cobol" "pl1" "hlasm" "rexx" "jcl"
compilerOptions string

Global compiler options separated by a comma that impact the parsing of the programs for the editor. Requires that you specify a language. If there are multiple Property Groups for a language with compiler option then they will be concatenated.

libraries libraryItem[]

An array of potential library locations defining the search order for include files. Libraries with the name 'syslib' will be handled as default include locations. The list can contain many entries of the type 'local' or 'mvs'. It can contain items of the same type twice in case, for example, you want to search in remote locations first, then some local location, and if still not found more remote locations.

minItems=1
libraryItem object
name string required

Name of the library. The default name should be syslib if using unnamed libraries.

Default: "syslib"
Examples: "syslib", "jcllib", "proclib", "maclib", "currencylib"
type string required

The type of the property group defining where dependencies should be located. Allowed values are 'local' for using a local workspace and 'mvs' for dependencies located in MVS data sets.

Default: "local"
Values: "mvs" "local"
Examples: "local", "mvs"
locations string[]

An array of include file locations. For 'local' libraries values can be absolute and relative filename paths using GLOB patterns. For 'mvs' libraries value can be data set names. GLOB patterns for data sets are currently not supported.

Examples: "**/copybook", "USER1.SAMPLE.COBCOPY"
person object | string

A person who has been involved in creating or maintaining this package

name string required
url string
format=uri
email string
format=email
profile object

Profiles are additional groups of properties that should only become valid under specific conditions such as running in a build job or as part of a debug session.

name string required

The name of the profile.

Examples: "dbb-build"
type string required

The type of the profile.

Default: "dbb"
Values: "dbb" "rseapi" "debug" "preprocessor" "test" "galasa" "zcodescan"
language string

If the profile type supports it then it defines a scope for the profile to one specific programming language. For example, a profile that defines preprocessor commands for COBOL.

Values: "cobol" "pl1"
location string

If the profile type supports it then it defines a scope for the profile to a specific location for resources. For example, a profile that defines preprocessor commands to be executed on MVS or local files.

Default: "local"
Values: "mvs" "local"
settings object

Settings objects specific to the type specified for the profile.

dbbGroovySettings object

Groovyz user build script properties for running user build on remote host.

application string required

Defines the name of the application to build. Will be used to create a folder on USS to upload all files to.

command string required

Command that the build script is executed with such as the path to groovyz and it's parameters.

buildScriptPath string

The full path of build script on the remote host that should be used with the command.

buildScriptArgs string[]

A list of strings that are the parameters for the build script. Check the documentation for built-in variables, such as the name of the program to build, that can be used here.

additionalDependencies string[]

Lists of GLOB patterns that define the files that should be uploaded to USS for a build. Relative path names are interpreted relative to the location of the ZAPP file that is being used for the build, which is a ZAPP file in the same workspace as the program to be build.

logFilePatterns string[]

Lists of GLOB patterns that define the files that should be downloaded from USS after the build. Relative path names are interpreted relative to the DBB log directory user setting. If not provided then all files of the user setting location will be downloaded.

dbbBuilderSettings object

zBuilder user build properties for running user build on remote host.

command string required

Command that the build script is executed with such as the path to groovyz and it's parameters.

lifecycle string required

Defines named build lifecycles that represent different build scenarios the customer needs to perform and can be executed from the DBB CLI.

lifecycleArgs string[] required

Additional arguments and options for the lifecycle.

additionalDependencies string[]

Lists of GLOB patterns that define the files that should be uploaded to USS for a build. Relative path names are interpreted relative to the location of the ZAPP file that is being used for the build, which is a ZAPP file in the same workspace as the program to be build.

logFilePatterns string[]

Lists of GLOB patterns that define the files that should be downloaded from USS after the build. Relative path names are interpreted relative to the DBB log directory user setting. If not provided then all files of the user setting location will be downloaded.

rseapiSettingsItem object

RSE API client settings for interactions with a z/OS remote host running an RSE API server.

mappings rseapiSettingsItemMapping[] required

A list of mapping objects that map local file extensions to transfer modes and encodings to MVS data sets that can be specified using wildcards.

default.encoding string required

The encoding to be used when no mapping can be found. If not provided then either the user or server default will be used.

rseapiSettingsItemMapping object

One mapping that contains at least transfer and resource values.

extension string

A local file extension such as cbl or pl1.

transfer string

The transfer mode to be used. Can be 'text' or 'binary'.

Values: "text" "binary"
resource string

The data set name to be mapped to. Can use a wildcard such as '**CPY'.

encoding string

The encoding to be used for text transfer. See the RSE API documentation for the values allowed.

memberMappings object[]

A nested mappings array with resource mappings to members of the data sets that were mapped by the parent mapping.

localPreprocessorSettingsItem object

Preprocessor properties for preprocessing COBOL/PL/I files.

command string required

The command to run to execute the preprocessor executable.

outputPath string required

Path where preprocessor produces its build output.

fileExtension string required

The desired file extension for the post-processed file.

environmentVariables object

Specifies any user defined environment variables to be passed to the preprocessor.

mvsPreprocessorSettingsItem object

Preprocessor properties for preprocessing COBOL/PL/I files.

commandDataSet string required

Specifies an input listing sequential data set.

outputDataSet string required

Specifies an output listing sequential data set.

tempDataHLQ string required

Specifies the high-level qualifier used for data sets created by plug-in requests to export observation files.

commandParameters string

The parameters for the command being run.

programDataSet string

Specifies the data set where local programs will be uploaded for preprocessing.

testApplicationToCapture object

Specify what to capture in an application.

recordingType string

Type of application that will be recorded.

Values: "CICS" "Batch" "IMS"
jclSteps string

Provide a path to a JCL file that runs the application to be recorded.

programs string[]

Provide name of the program to capture.

transactionId string

Provide a transaction id to capture in the recording.

testSourceMap object
source string

The workspace-relative path to an application source file.

module string

The z/OS load module name that corresponds to the specified source file.

testSourceMaps testSourceMap[]

Specify which application load modules correspond to application source files.

testHostRecordingSettings object

Specify host settings for the recording tool.

applicationDbrmLibrary string

Required if recording and replaying DB2 statements.

cicsRegion string

If recording a CICS application, specify a CICS region where the application is running.

dteEngineLocation string

If recording a batch application, specify the data set where Debug Test Engine load library is located.

imsSubsystemId string

If recording an IMS application, specify the subsystem id.

testRecordingSettings object

Specify settings for the recording application tool.

applicationToCapture object

Specify what to capture in an application.

4 nested properties
recordingType string

Type of application that will be recorded.

Values: "CICS" "Batch" "IMS"
jclSteps string

Provide a path to a JCL file that runs the application to be recorded.

programs string[]

Provide name of the program to capture.

transactionId string

Provide a transaction id to capture in the recording.

hostRecordingSettings object

Specify host settings for the recording tool.

4 nested properties
applicationDbrmLibrary string

Required if recording and replaying DB2 statements.

cicsRegion string

If recording a CICS application, specify a CICS region where the application is running.

dteEngineLocation string

If recording a batch application, specify the data set where Debug Test Engine load library is located.

imsSubsystemId string

If recording an IMS application, specify the subsystem id.

sourceMaps testSourceMap[]

Specify which application load modules correspond to application source files.

testSettingsItem object

Test properties for a test case.

recording object

Specify settings for the recording application tool.

3 nested properties
applicationToCapture object

Specify what to capture in an application.

4 nested properties
recordingType string

Type of application that will be recorded.

Values: "CICS" "Batch" "IMS"
jclSteps string

Provide a path to a JCL file that runs the application to be recorded.

programs string[]

Provide name of the program to capture.

transactionId string

Provide a transaction id to capture in the recording.

hostRecordingSettings object

Specify host settings for the recording tool.

4 nested properties
applicationDbrmLibrary string

Required if recording and replaying DB2 statements.

cicsRegion string

If recording a CICS application, specify a CICS region where the application is running.

dteEngineLocation string

If recording a batch application, specify the data set where Debug Test Engine load library is located.

imsSubsystemId string

If recording an IMS application, specify the subsystem id.

sourceMaps testSourceMap[]

Specify which application load modules correspond to application source files.

unitTest object

Properties to run a unit test case.

8 nested properties
procLib string[] required

Specifies the list of Procedure libraries.

allocateWorkingDs boolean

If this option is selected, the data set for the working file is allocated automatically with the allocation options.

ioDataSetAllocation object

Options to allocate a working file.

4 nested properties
ioSpaceUnit string

The unit of primary and secondary space to be allocated.

Values: "TRACKS" "BLOCKS" "CYLINDERS"
ioQuant1 integer

The amount of DASD space to be used for primary space allocation (PRIMARY).

ioQuant2 integer

The amount of DASD space to be used for secondary space allocation (SECONDARY).

ioHLQ string

The high-level qualifier for the VSAM or QSAM data files for file I/O simulation. These files are allocated when running a Unit test case.

configDS string

Runner configuration destination container.

resultDS string

Runner result destination container.

userLibraries string[]

The datat set of the application under test.

defaultTestCaseFolder string

The default local folder to create the test case artifacts.

jobcard string

The job card to run a unit test.

functionalTest object

Specify settings for the functional test.

7 nested properties
defaultTestCaseFolder string

Specify the path to the default test case folder.

codePages string

Specify the code pages to be used.

localBmsMapNames string[]

Specify an array of local BMS files.

localMfsFiles string[]

Specify an array of local MFS files from the mfs-maps directory to be used for generating accurate test files. Ex: sample.mfs.

localImsDbdFiles string[]

Specify an array of local IMS DBD files from the config-files directory to be used for generating accurate test files. Ex: imsDbd.txt.

localDb2Config string[]

Specify an array of local Db2 Config files.

substitutionMap object

Specify settings for the functional test substitution map.

7 nested properties
cicsTag string

If recording a CICS application, specify the cicsts.dse.tag from the .galasa/cps.properties file.

imageTag string

If recording a CICS or IMS application, specify the zos.dse.tag from the .galasa/cps.properties file.

dbPrefix string

If recording a CICS application, specify the Db2 DB ID that was established when the Db2 instance was created.

dbSchema string

If recording a CICS application, specify the db2.dse.schema.PRIMARY.name from the .galasa/cps.properties.

loginCredentialsTag string

If recording a CICS or IMS application, specify the zos.image.x.credentials value from the .galasa/cps.properties.

imsTag string

If recording an IMS application, specify the imstm.dse.tag from the .galasa/cps.properties.

dliTag string

If recording an IMS application, specify the dli.database.tag.{imsTag}.datastore value from the .galasa/cps.properties.

unitTestSettings object

Properties to run a unit test case.

procLib string[] required

Specifies the list of Procedure libraries.

allocateWorkingDs boolean

If this option is selected, the data set for the working file is allocated automatically with the allocation options.

ioDataSetAllocation object

Options to allocate a working file.

4 nested properties
ioSpaceUnit string

The unit of primary and secondary space to be allocated.

Values: "TRACKS" "BLOCKS" "CYLINDERS"
ioQuant1 integer

The amount of DASD space to be used for primary space allocation (PRIMARY).

ioQuant2 integer

The amount of DASD space to be used for secondary space allocation (SECONDARY).

ioHLQ string

The high-level qualifier for the VSAM or QSAM data files for file I/O simulation. These files are allocated when running a Unit test case.

configDS string

Runner configuration destination container.

resultDS string

Runner result destination container.

userLibraries string[]

The datat set of the application under test.

defaultTestCaseFolder string

The default local folder to create the test case artifacts.

jobcard string

The job card to run a unit test.

substitutionMapSettings object

Specify settings for the functional test substitution map.

cicsTag string

If recording a CICS application, specify the cicsts.dse.tag from the .galasa/cps.properties file.

imageTag string

If recording a CICS or IMS application, specify the zos.dse.tag from the .galasa/cps.properties file.

dbPrefix string

If recording a CICS application, specify the Db2 DB ID that was established when the Db2 instance was created.

dbSchema string

If recording a CICS application, specify the db2.dse.schema.PRIMARY.name from the .galasa/cps.properties.

loginCredentialsTag string

If recording a CICS or IMS application, specify the zos.image.x.credentials value from the .galasa/cps.properties.

imsTag string

If recording an IMS application, specify the imstm.dse.tag from the .galasa/cps.properties.

dliTag string

If recording an IMS application, specify the dli.database.tag.{imsTag}.datastore value from the .galasa/cps.properties.

galasaSettingsItem object

Galasa properties for executing a functional test galasa test file

galasaHome string

Specify the galasa home directory on local machine

zos object

The configuration for a z/OS system

2 nested properties

The configuration for a z/OS DSE tag

The configuration for a z/OS image

cicsts object

Configuration properties used by the Galasa CICS TS Manager

3 nested properties

User-defined identifier for the CICS tag

defaultLogonGmText string

Property specifying text used for testing a specific CICS login good morning screen

provisionType string

Provides the type of the CICS TS region for the DSE provisioner

db2 object

Configuration properties used by the Galasa Db2 Manager

3 nested properties

Db2 DSE Instance configuration properties used by the Galasa Db2 Manager

Db2 Schema configuration properties used by the Galasa Db2 Manager

Db2 Instance configuration properties used by the Galasa Db2 Manager

Configuration properties used by the IMS TM manager for the DSE provisioner for a specific tag

dli object

Configuration properties used by the Galasa DLI Manager

2 nested properties

User-defined identifier for the DLI Datastore tag

User-defined identifier for the DLI Database tag

Configuration properties used by the TOTP Manager for MFA

dpsServer object

Configuration properties used to connect to Debug Profile Service

4 nested properties
port integer

Specify the port of the Debug Profile Service on the remote z/OS system

secured boolean

Enable a secure connection

host string

Specify the hostname of the remote z/OS system

credentials string

User-defined identifier for the credentials tag

Specify additional properties to be added to the cps.properties file

zosGalasaSettings object

The configuration for a z/OS system

The configuration for a z/OS DSE tag

The configuration for a z/OS image

zosDseTagItemsGalasaSettings object

The configuration for a z/OS DSE tag

tag string

User-defined identifier for the z/OS DSE tag

imageid string

The z/OS Image ID

zosImageItemsGalasaSettings object

Specify the characteristics of a particular z/OS environment that your Galasa tests will target

tag string

User-defined identifier for the z/OS Image tag

ipv4Hostname string

Hostname of the target z/OS system

telnet object

The telnet details for the target z/OS system

2 nested properties
port integer

Specify the telnet port for the target z/OS system

tls boolean

Specify if TLS is enabled on the target z/OS system

credentials string

Credentials tag for logging onto a z/OS system

vtamLogon string

A string representing the VTAM logon command

logonInitialText string

This property defines the first input that will be provided to the z/OS system after a connection is established

zosImageTelnetGalasaSettings object

The telnet details for the target z/OS system

port integer

Specify the telnet port for the target z/OS system

tls boolean

Specify if TLS is enabled on the target z/OS system

cicstsGalasaSettings object

Configuration properties used by the Galasa CICS TS Manager

User-defined identifier for the CICS tag

defaultLogonGmText string

Property specifying text used for testing a specific CICS login good morning screen

provisionType string

Provides the type of the CICS TS region for the DSE provisioner

cicstsDseTagItemsGalasaSettings object

Configuration properties used by the Galasa CICS TS Manager for the specific tag

tag string

User-defined identifier for the CICS tag

imageid string

User-defined identifier for the z/OS Image tag

applid string

Application Identifier of a CICS TS region for the DSE provisioner

db2GalasaSettings object

Configuration properties used by the Galasa Db2 Manager

Db2 DSE Instance configuration properties used by the Galasa Db2 Manager

Db2 Schema configuration properties used by the Galasa Db2 Manager

Db2 Instance configuration properties used by the Galasa Db2 Manager

db2DseInstanceItemsGalasaSettings object

Db2 DSE Instance configuration properties used by the Galasa Db2 Manager

tag string

User-defined identifier for the z/OS Image tag

name string

User-defined identifier for the Db2 tag

db2SchemaItemsGalasaSettings object

This property specifies the name of the primary Db2 schema that Galasa will use when interacting with a Db2 database

tag string

User-defined identifier for the primary Db2 Schema

name string

User-defined identifier for the Db2 schema tag

db2InstanceItemsGalasaSettings object

Configuration properties for the Db2 instance for use within Galasa tests

tag string

User-defined identifier for the Db2 tag

url string

Specify the JDBC connection URL for a Db2 database instance

credentials string

User-defined identifier for the Db2 credentials tag

imstmDseTagItemsGalasaSettings object

Configuration properties used by the IMS TM manager for the DSE provisioner for a specific tag

tag string

User-defined identifier for the IMS tag

applid string

Application Identifier of an IMS TM region for the DSE provisioner

dliGalasaSettings object

Configuration properties used by the Galasa DLI Manager

User-defined identifier for the DLI Datastore tag

User-defined identifier for the DLI Database tag

dliDatastoreTagItemsGalasaSettings object

Configuration properties used by the Galasa DLI Manager for datastore access for a specific tag

tag string

User-defined identifier for the DLI Datastore tag

name string

Specify the Datastore name

server string

Specify the hostname or IP address of the Datastore

port integer

Specify the port of the Datastore

ssl boolean

Specify if SSL is enabled on the Datastore

dliDatabaseTagItemsGalasaSettings object

Configuration properties used by the Galasa DLI Manager for database access for a specific tag

tag string

User-defined identifier for the DLI Database tag

datastore string

User-defined identifier for the DLI datastore tag

name string

Provide the name of the database

totpMfaItemsGalasaSettings object

Configuration properties used by the TOTP Manager for MFA

tag string

User-defined identifier for the TOTP MFA tag

digits integer

The number of digits required in each generated one time password

digest string

The hash algorithm used when generating each one time password

interval integer

The number of seconds that each generated one time password will be valid for

dpsServerGalasaSettings object

Configuration properties used to connect to Debug Profile Service

port integer

Specify the port of the Debug Profile Service on the remote z/OS system

secured boolean

Enable a secure connection

host string

Specify the hostname of the remote z/OS system

credentials string

User-defined identifier for the credentials tag

additionalPropertiesItemsGalasaSettings object

Additional properties to be used

name string

The key of the additional property

value string

The value of the additional property

functionalTestSettings object

Specify settings for the functional test.

defaultTestCaseFolder string

Specify the path to the default test case folder.

codePages string

Specify the code pages to be used.

localBmsMapNames string[]

Specify an array of local BMS files.

localMfsFiles string[]

Specify an array of local MFS files from the mfs-maps directory to be used for generating accurate test files. Ex: sample.mfs.

localImsDbdFiles string[]

Specify an array of local IMS DBD files from the config-files directory to be used for generating accurate test files. Ex: imsDbd.txt.

localDb2Config string[]

Specify an array of local Db2 Config files.

substitutionMap object

Specify settings for the functional test substitution map.

7 nested properties
cicsTag string

If recording a CICS application, specify the cicsts.dse.tag from the .galasa/cps.properties file.

imageTag string

If recording a CICS or IMS application, specify the zos.dse.tag from the .galasa/cps.properties file.

dbPrefix string

If recording a CICS application, specify the Db2 DB ID that was established when the Db2 instance was created.

dbSchema string

If recording a CICS application, specify the db2.dse.schema.PRIMARY.name from the .galasa/cps.properties.

loginCredentialsTag string

If recording a CICS or IMS application, specify the zos.image.x.credentials value from the .galasa/cps.properties.

imsTag string

If recording an IMS application, specify the imstm.dse.tag from the .galasa/cps.properties.

dliTag string

If recording an IMS application, specify the dli.database.tag.{imsTag}.datastore value from the .galasa/cps.properties.

ZCodeScanRuleItem object
type string required

The storage type.

Default: "local"
Values: "local"
Examples: "local"
locations string[] required

An array of file locations. For 'local' values can be absolute and relative filename paths using GLOB patterns.

Examples: "**/*.yaml", "${git-rule-repo}/rule-model/**/*.yaml"
ZCodeScanSettings object

IBM ZCodeScan settings.

The IBM ZCodeScan rule files are YAML files that contains a list of rules that needs to be applied on codebase.

customRuleModels ZCodeScanRuleItem[]

The IBM ZCodeScan custom rule model defines custom rule domains for IBM ZCodeScan code analysis. It structures the code quality rules that can be used in a static analysis.

customRuleJars ZCodeScanRuleItem[]

The IBM ZCodeScan custom rule Java JAR files. The Java code needs to be packaged into a Java jar file so that it can be consumed by IBM ZCodeScan.