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.