Bird
Raised Fist0
Jenkinsdevops~10 mins

String, boolean, and choice parameters in Jenkins - Step-by-Step Execution

Choose your learning style10 modes available
Process Flow - String, boolean, and choice parameters
Start Job Configuration
↓
Define Parameters
↓
String
↓
User Inputs Values
↓
Job Runs Using Parameters
↓
End
The flow shows defining three parameter types, user inputs values, then the job runs using those values.
Execution Sample
Jenkins
pipeline {
  agent any
  parameters {
    string(name: 'GREETING', defaultValue: 'Hello', description: 'Say hi')
    booleanParam(name: 'SHOUT', defaultValue: false, description: 'Uppercase?')
    choice(name: 'LANG', choices: ['English', 'Spanish'], description: 'Language')
  }
  stages {
    stage('Example') {
      steps {
        script {
          def msg = params.GREETING
          if (params.SHOUT) {
            msg = msg.toUpperCase()
          }
          echo "Message: ${msg} in ${params.LANG}"
        }
      }
    }
  }
}
Defines string, boolean, and choice parameters; then prints a message using them.
Process Table
StepParameter TypeInput ValueActionOutput
1String'Hello'Assign to msgmsg = 'Hello'
2BooleanfalseCheck SHOUTNo change to msg
3Choice'English'Select languageLANG = 'English'
4Print-Echo messageMessage: Hello in English
5String'Hi there'Assign to msgmsg = 'Hi there'
6BooleantrueCheck SHOUTmsg = 'HI THERE'
7Choice'Spanish'Select languageLANG = 'Spanish'
8Print-Echo messageMessage: HI THERE in Spanish
9---Job ends
💡 All parameters processed and message printed; job completes.
Status Tracker
VariableStartAfter Step 1After Step 2After Step 3After Step 4After Step 5After Step 6After Step 7After Step 8Final
msgundefined'Hello''Hello''Hello''Hello''Hi there''HI THERE''HI THERE''HI THERE''HI THERE'
SHOUTundefinedfalsefalsefalsefalsetruetruetruetruetrue
LANGundefinedundefined'English''English''English'undefinedundefined'Spanish''Spanish''Spanish'
Key Moments - 3 Insights
Why does the message change to uppercase only when SHOUT is true?
Because in the execution table at step 6, when SHOUT is true, the code converts msg to uppercase. When false (step 2), msg stays the same.
How does the choice parameter LANG affect the output?
LANG selects the language string used in the output message. Steps 3 and 7 show LANG changing, which changes the printed message accordingly.
What happens if the user does not provide input for the string parameter?
The default value 'Hello' is used as shown at step 1, so the job still runs with that default.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the value of msg after step 6?
A'Hi there'
B'HI THERE'
C'Hello'
Dundefined
💡 Hint
Check the 'Action' and 'Output' columns at step 6 where SHOUT is true and msg is uppercased.
At which step does the choice parameter LANG change to 'Spanish'?
AStep 7
BStep 2
CStep 3
DStep 5
💡 Hint
Look at the 'Input Value' and 'Action' columns for LANG changes in the execution table.
If SHOUT was always false, how would the output at step 8 change?
AMessage would be uppercase
BMessage would be empty
CMessage would remain as 'Hi there'
DJob would fail
💡 Hint
Refer to variable_tracker for msg values when SHOUT is false and how it affects output.
Concept Snapshot
Jenkins parameters let users input values before a job runs.
String parameters accept text input.
Boolean parameters are true/false switches.
Choice parameters let users pick from a list.
Use params.PARAM_NAME to access values in pipeline.
Defaults apply if user input is missing.
Full Transcript
This visual execution shows how Jenkins jobs use string, boolean, and choice parameters. First, parameters are defined with defaults. When the job runs, users can input values or accept defaults. The string parameter sets a message text. The boolean parameter controls if the message is uppercased. The choice parameter selects a language. The execution table traces each step: assigning values, checking conditions, and printing the final message. Variable tracking shows how msg, SHOUT, and LANG change over time. Key moments clarify why uppercase happens only when SHOUT is true, how choice affects output, and the role of defaults. The quiz tests understanding of variable states and parameter effects. This helps beginners see how parameters control job behavior visually and step-by-step.

Practice

(1/5)
1. What type of Jenkins parameter should you use if you want the user to enter any text value before running a job?
easy
A. String parameter
B. Boolean parameter
C. Choice parameter
D. File parameter

Solution

  1. Step 1: Understand parameter types

    String parameters allow users to input any text value.
  2. Step 2: Match requirement to parameter

    Since the question asks for text input, String parameter fits best.
  3. Final Answer:

    String parameter -> Option A
  4. Quick Check:

    Text input = String parameter [OK]
Hint: Text input? Always pick String parameter [OK]
Common Mistakes:
  • Choosing Boolean parameter for text input
  • Confusing Choice parameter with String parameter
  • Selecting File parameter which is for files
2. Which of the following is the correct syntax to define a Boolean parameter in a Jenkins pipeline script?
easy
A. choice(name: 'DEPLOY', choices: ['true', 'false'], description: 'Deploy to production?')
B. stringParam(name: 'DEPLOY', defaultValue: 'true', description: 'Deploy to production?')
C. booleanParam(name: 'DEPLOY', defaultValue: true, description: 'Deploy to production?')
D. boolParam(name: 'DEPLOY', default: true, desc: 'Deploy to production?')

Solution

  1. Step 1: Recall Jenkins Boolean parameter syntax

    The correct syntax uses booleanParam with name, defaultValue, and description keys.
  2. Step 2: Compare options

    booleanParam(name: 'DEPLOY', defaultValue: true, description: 'Deploy to production?') matches the correct syntax exactly; others have wrong names or keys.
  3. Final Answer:

    booleanParam(name: 'DEPLOY', defaultValue: true, description: 'Deploy to production?') -> Option C
  4. Quick Check:

    Boolean parameter syntax = booleanParam(name: 'DEPLOY', defaultValue: true, description: 'Deploy to production?') [OK]
Hint: Boolean param uses booleanParam() with defaultValue [OK]
Common Mistakes:
  • Using stringParam for boolean values
  • Incorrect parameter function names like boolParam
  • Passing boolean as string instead of boolean type
3. Given this Jenkins pipeline snippet:
parameters {
  choice(name: 'ENV', choices: ['dev', 'test', 'prod'], description: 'Select environment')
  booleanParam(name: 'DEBUG', defaultValue: false, description: 'Enable debug?')
}

pipeline {
  agent any
  stages {
    stage('Print') {
      steps {
        script {
          echo "Environment: ${params.ENV}"
          echo "Debug mode: ${params.DEBUG}"
        }
      }
    }
  }
}

What will be printed if the user selects 'test' for ENV and checks the debug box?
medium
A. Environment: prod Debug mode: false
B. Environment: test Debug mode: true
C. Environment: test Debug mode: false
D. Environment: dev Debug mode: true

Solution

  1. Step 1: Identify parameter values chosen

    User selects 'test' for ENV and checks debug, so DEBUG is true.
  2. Step 2: Understand echo output

    Echo prints the selected ENV and DEBUG values from params object.
  3. Final Answer:

    Environment: test Debug mode: true -> Option B
  4. Quick Check:

    Selected ENV=test, DEBUG=true [OK]
Hint: Echo prints exactly chosen parameter values [OK]
Common Mistakes:
  • Assuming default values instead of user choices
  • Mixing up ENV values
  • Ignoring boolean checkbox state
4. You wrote this Jenkins pipeline snippet:
parameters {
  booleanParam(name: 'RUN_TESTS', defaultValue: 'false', description: 'Run tests?')
}

When running the job, Jenkins throws an error. What is the problem?
medium
A. defaultValue should be a boolean, not a string
B. Parameter name cannot be uppercase
C. booleanParam does not accept description
D. Missing choice parameter for boolean

Solution

  1. Step 1: Check booleanParam defaultValue type

    defaultValue must be true or false (boolean), not 'false' (string).
  2. Step 2: Identify error cause

    Passing string 'false' causes type error in Jenkins pipeline.
  3. Final Answer:

    defaultValue should be a boolean, not a string -> Option A
  4. Quick Check:

    Boolean defaultValue = true/false, not 'true'/'false' [OK]
Hint: Boolean defaultValue must be true or false, no quotes [OK]
Common Mistakes:
  • Using string 'false' instead of boolean false
  • Thinking parameter names must be lowercase
  • Assuming booleanParam needs choice parameter
5. You want to create a Jenkins job that asks the user to select a deployment region from ['us-east', 'us-west', 'eu-central'], enter a version string, and confirm with a yes/no checkbox before deploying. Which parameter types should you use together?
hard
A. Choice parameter for region, Choice parameter for version, Boolean parameter for confirmation
B. String parameter for region, Boolean parameter for version, Choice parameter for confirmation
C. Boolean parameter for region, Choice parameter for version, String parameter for confirmation
D. Choice parameter for region, String parameter for version, Boolean parameter for confirmation

Solution

  1. Step 1: Match each input to parameter type

    Region selection from fixed list -> Choice parameter; version text -> String parameter; yes/no confirm -> Boolean parameter.
  2. Step 2: Verify option matches all three correctly

    Choice parameter for region, String parameter for version, Boolean parameter for confirmation correctly assigns Choice, String, and Boolean parameters respectively.
  3. Final Answer:

    Choice parameter for region, String parameter for version, Boolean parameter for confirmation -> Option D
  4. Quick Check:

    Dropdown = Choice, Text = String, Yes/No = Boolean [OK]
Hint: Dropdown = Choice, Text input = String, Checkbox = Boolean [OK]
Common Mistakes:
  • Mixing parameter types for inputs
  • Using Boolean for text input
  • Using String for fixed list selection
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard