Bird
Raised Fist0
Jenkinsdevops~20 mins

String, boolean, and choice parameters in Jenkins - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Parameter Pro
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
Output of Jenkinsfile with String Parameter
Given this Jenkinsfile snippet, what will be the output when the build is triggered with the default parameter value?
pipeline {
  agent any
  parameters {
    string(name: 'GREETING', defaultValue: 'Hello', description: 'Greeting message')
  }
  stages {
    stage('Print') {
      steps {
        echo params.GREETING
      }
    }
  }
}
Jenkins
pipeline {
  agent any
  parameters {
    string(name: 'GREETING', defaultValue: 'Hello', description: 'Greeting message')
  }
  stages {
    stage('Print') {
      steps {
        echo params.GREETING
      }
    }
  }
}
AHello
BGREETING
Cnull
DError: params.GREETING undefined
Attempts:
2 left
💡 Hint
Look at the defaultValue set in the string parameter.
💻 Command Output
intermediate
2:00remaining
Boolean Parameter Effect on Build
Consider this Jenkinsfile snippet with a boolean parameter. What will be printed if the build is triggered with the boolean parameter unchecked?
pipeline {
  agent any
  parameters {
    booleanParam(name: 'DEPLOY', defaultValue: true, description: 'Deploy to production?')
  }
  stages {
    stage('Check') {
      steps {
        script {
          if (params.DEPLOY) {
            echo 'Deploying...'
          } else {
            echo 'Skipping deploy'
          }
        }
      }
    }
  }
}
Jenkins
pipeline {
  agent any
  parameters {
    booleanParam(name: 'DEPLOY', defaultValue: true, description: 'Deploy to production?')
  }
  stages {
    stage('Check') {
      steps {
        script {
          if (params.DEPLOY) {
            echo 'Deploying...'
          } else {
            echo 'Skipping deploy'
          }
        }
      }
    }
  }
}
Afalse
BDeploying...
Ctrue
DSkipping deploy
Attempts:
2 left
💡 Hint
Boolean parameters are true if checked, false if unchecked.
💻 Command Output
advanced
2:00remaining
Choice Parameter Value in Jenkins Pipeline
What will be the output of this Jenkins pipeline if the choice parameter 'ENV' is set to 'staging' when the build starts?
pipeline {
  agent any
  parameters {
    choice(name: 'ENV', choices: ['dev', 'staging', 'prod'], description: 'Select environment')
  }
  stages {
    stage('Show Env') {
      steps {
        echo "Selected environment is: ${params.ENV}"
      }
    }
  }
}
Jenkins
pipeline {
  agent any
  parameters {
    choice(name: 'ENV', choices: ['dev', 'staging', 'prod'], description: 'Select environment')
  }
  stages {
    stage('Show Env') {
      steps {
        echo "Selected environment is: ${params.ENV}"
      }
    }
  }
}
ASelected environment is: prod
BSelected environment is: staging
CSelected environment is: dev
DSelected environment is: ENV
Attempts:
2 left
💡 Hint
The output uses the value of params.ENV which is set by the choice parameter.
❓ Troubleshoot
advanced
2:00remaining
Troubleshooting Undefined Parameter in Jenkinsfile
A Jenkins pipeline uses a boolean parameter named 'RUN_TESTS'. The pipeline fails with an error: groovy.lang.MissingPropertyException: No such property: RUN_TESTS. What is the most likely cause?

Options:
AThe parameter was not defined in the parameters block of the Jenkinsfile.
BThe parameter name is misspelled in the script as 'RUN_TESTS'.
CBoolean parameters cannot be accessed via params in Jenkins pipelines.
DThe Jenkins agent does not support boolean parameters.
Attempts:
2 left
💡 Hint
Check if the parameter is declared properly in the Jenkinsfile.
✅ Best Practice
expert
3:00remaining
Best Practice for Secure Use of String Parameters
Which practice is best to securely handle sensitive data passed as a string parameter in Jenkins pipelines?
AUse a string parameter and print its value in the console for debugging.
BStore sensitive data directly in the Jenkinsfile as plain text.
CUse a string parameter but mask its value in the console output using Jenkins credentials binding.
DUse a choice parameter with all possible sensitive values listed.
Attempts:
2 left
💡 Hint
Think about how to avoid exposing secrets in logs.

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