When a developer creates a Pipeline job in CloudBees CI based on a Pipeline Template, the available parameters are displayed in the user interface as options for which the developer can specify a value.
string
In template.yaml
version: 1
type: pipeline-template
name: A template with a single parameter
parameters:
- name: aParam
type: string
displayName: An individual parameter
In Jenkinsfile
echo "Hello ${aParam}"
number
In template.yaml
version: 1
type: pipeline-template
name: Template with number Parameter
description: A template with a single number parameter
parameters:
- name: someNumber
displayName: A number
type: number
In Jenkinsfile
echo "Remainder: ${someNumber % 2}"
boolean
In template.yaml
version: 1
type: pipeline-template
name: A Declarative template with a boolean parameter
parameters:
- name: true_or_false
displayName: A boolean parameter
type: boolean
In Jenkinsfile
pipeline {
agent any
/* In the following stages, true_or_false is not surrounded
by ${}. That's because the stages are using true_or_false in an
expression.
*/
stages {
stage('only-if-true') {
when {
expression {
return true_or_false
}
}
steps {
echo "We ran the stage because true_or_false was true"
}
}
stage('only-if-false') {
when {
expression {
return !true_or_false
}
}
steps {
echo "We ran the stage because true_or_false was false"
}
}
}
}
credentials
When specifying a default value, use the ID for the credentials and not the actual secret. When the developer creates a job using the template, they will also specify the credentials ID. (You must set the ID through the Credentials Plugin or the Credentials Binding Plugin.
In template.yaml
version: 1
type: pipeline-template
name: A Declarative template with a credentials ID parameter
parameters:
- name: github_creds
displayName: GitHub Credentials ID
type: credentials
defaultValue: github-creds
In Jenkinsfile
pipeline {
agent any
stages {
stage('echo id') {
steps {
echo "Credentials ID: ${CRED_ID}"
}
}
}
}
You can find additional examples of parameters in use at https://github.com/cloudbees/cloudbees-examples/tree/master/pipeline-template-examples/demos.