Skip to content

Pipeline Configuration Schema

Overview

Check out the Pipeline Configuration page for an explanation of the Pipeline Configuration's purpose and syntax.

Root-Level Blocks

jte

The jte{} block of the Pipeline Configuration is reserved for fields that change framework behavior.

key description type default
allow_scm_jenkinsfile Determines whether a Jenkinsfile in a source code repository will be used when determining the Pipeline Template. Refer to Pipeline Template Selection for more information. Boolean True
permissive_initialization Determine whether to fail the build during pipeline initialization if multiple Pipeline Primitives with conflicting names are loaded. Setting to True will allow multiple Pipeline Primitives with the same name to be loaded. Boolean False
pipeline_template Specify a named template from the Pipeline Catalog to use. String null
reverse_library_resolution Determine whether to reverse the order that Library Sources are queried for a library. Refer to Library Resolution for more information. Boolean False

Example JTE Block

pipeline_config.groovy
jte{
  allow_scm_jenkinsfile = False
  permissive_initialization = True
  pipeline_template = "my-named-template.groovy"
  reverse_library_resolution = True
}

template_methods

The template_methods{} block is used to define the names of steps to create a no-op placeholder for if a library doesn't provide the step's implementation.

Refer to Placeholder Steps for more information.

Example template_methods block

pipeline_config.groovy
template_methods{
  unit_test
  build
  deploy_to
}

libraries

The libraries{} block determines which libraries to load. The block names within libraries must reference a library within a configured Library Source available to the job.

Refer to the Library Development Overview for more information.

Example libraries block

pipeline_config.groovy
libraries{
  library_A{
    param1 = "foo"
    param2 = "bar"
    ...
  }
  ...
}

stages

The stages{} block is used to define Stages.

Example stages block

pipeline_config.groovy
stages{
  stage_name{
    step1
    step2
    ...
  }
  ...
}

application_environments

The application_environments{} block is used to define Application Environments.

Example application_environments block

pipeline_config.groovy
application_environments{
  dev{
    long_name = "Development"
  }
  test
  prod
}

keywords

The keywords{} block is used to define Keywords.

Example keywords block

pipeline_config.groovy
keywords{
  main = ~/^[Mm](ain|aster)$/
  globals{
    foo = "bar"
  }
}
Back to top