Bird
Raised Fist0
Jenkinsdevops~5 mins

Parameterized builds in Jenkins - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a parameterized build in Jenkins?
A parameterized build lets you run a Jenkins job with input values (parameters) that you provide when starting the build. This makes the build flexible and reusable for different situations.
Click to reveal answer
beginner
Name two common types of parameters used in Jenkins parameterized builds.
Two common parameter types are String Parameter (text input) and Boolean Parameter (true/false checkbox).
Click to reveal answer
beginner
How do you add parameters to a Jenkins job?
In the job configuration, check 'This project is parameterized' and then add the desired parameter types with names and default values.
Click to reveal answer
intermediate
How can you use parameters inside a Jenkins Pipeline script?
You access parameters using the 'params' object, for example: params.MY_PARAM to get the value of a parameter named MY_PARAM.
Click to reveal answer
beginner
Why are parameterized builds useful in real-life projects?
They let you customize builds without changing the job itself. For example, you can build different versions, deploy to different environments, or run tests with different settings.
Click to reveal answer
What must you enable in a Jenkins job to accept input parameters?
ASet 'Discard old builds'
BEnable 'Build periodically'
CCheck 'This project is parameterized'
DAdd a post-build action
Which Jenkins parameter type lets you choose true or false?
ABoolean Parameter
BChoice Parameter
CString Parameter
DFile Parameter
How do you access a parameter named 'VERSION' in a Jenkins Pipeline script?
Ainput.VERSION
Benv.VERSION
Cbuild.VERSION
Dparams.VERSION
What happens if you run a parameterized build without providing a parameter value?
AThe default parameter value is used
BThe build fails immediately
CJenkins asks for the value during the build
DThe build ignores parameters
Which of these is NOT a benefit of parameterized builds?
AReusing the same job for different inputs
BAutomatically fixing build errors
CCustomizing builds without changing job config
DDeploying to different environments easily
Explain how to configure a Jenkins job to accept parameters and how to use those parameters in a Pipeline script.
Think about the job settings and how scripts read inputs.
You got /3 concepts.
    Describe a real-world scenario where parameterized builds improve the build process.
    Consider flexibility and reuse in builds.
    You got /3 concepts.

      Practice

      (1/5)
      1.

      What is the main purpose of parameterized builds in Jenkins?

      easy
      A. To allow users to input values that customize the build process
      B. To automatically deploy builds to production
      C. To schedule builds at specific times
      D. To monitor server health during builds

      Solution

      1. Step 1: Understand parameterized builds concept

        Parameterized builds let users provide inputs that change how the build runs.
      2. Step 2: Identify the main purpose

        The main goal is to customize the build without changing the job code.
      3. Final Answer:

        To allow users to input values that customize the build process -> Option A
      4. Quick Check:

        Parameterized builds = user inputs [OK]
      Hint: Think: 'How do I change build behavior without editing code?' [OK]
      Common Mistakes:
      • Confusing parameterized builds with scheduling
      • Thinking parameters deploy builds automatically
      • Mixing monitoring with build customization
      2.

      Which of the following is the correct syntax to define a string parameter named ENV in a Jenkins pipeline?

      parameters {
          ?
      }
      easy
      A. paramString('ENV', 'dev', 'Environment')
      B. string(name: 'ENV', defaultValue: 'dev', description: 'Environment')
      C. stringParam('ENV', 'dev', 'Environment')
      D. parameterString(name='ENV', default='dev')

      Solution

      1. Step 1: Recall Jenkins pipeline parameter syntax

        Jenkins uses string(name: '', defaultValue: '', description: '') inside parameters block.
      2. Step 2: Match correct syntax

        string(name: 'ENV', defaultValue: 'dev', description: 'Environment') matches the correct syntax exactly.
      3. Final Answer:

        string(name: 'ENV', defaultValue: 'dev', description: 'Environment') -> Option B
      4. Quick Check:

        Correct parameter syntax = string(name: 'ENV', defaultValue: 'dev', description: 'Environment') [OK]
      Hint: Remember: 'string' with named args inside parameters block [OK]
      Common Mistakes:
      • Using incorrect function names like stringParam
      • Missing named arguments or using wrong argument names
      • Confusing parameter syntax with freestyle job parameters
      3.

      Given this Jenkins pipeline snippet, what will be printed if the build is started with parameter BRANCH=feature?

      pipeline {
        agent any
        parameters {
          string(name: 'BRANCH', defaultValue: 'main', description: 'Git branch')
        }
        stages {
          stage('Print Branch') {
            steps {
              echo "Building branch: ${params.BRANCH}"
            }
          }
        }
      }
      medium
      A. Building branch: main
      B. Error: BRANCH parameter not found
      C. Building branch: feature
      D. Building branch: ${params.BRANCH}

      Solution

      1. Step 1: Understand parameter usage in pipeline

        The parameter BRANCH has default 'main' but can be overridden at build start.
      2. Step 2: Check what happens when build starts with BRANCH=feature

        The value 'feature' replaces default, so params.BRANCH is 'feature'.
      3. Final Answer:

        Building branch: feature -> Option C
      4. Quick Check:

        Parameter override prints new value [OK]
      Hint: Parameter value at build start overrides default [OK]
      Common Mistakes:
      • Assuming default value always prints
      • Thinking variable is not replaced in echo
      • Confusing parameter name with environment variables
      4.

      Identify the error in this Jenkins pipeline snippet that defines a boolean parameter:

      pipeline {
        agent any
        parameters {
          booleanParam(name: 'DEPLOY', default: true, description: 'Deploy after build?')
        }
        stages {
          stage('Check Deploy') {
            steps {
              script {
                if (params.DEPLOY) {
                  echo 'Deploying...'
                } else {
                  echo 'Skipping deploy'
                }
              }
            }
          }
        }
      }
      medium
      A. The 'script' block is not allowed inside 'steps'
      B. The parameter name should be 'boolean' not 'booleanParam'
      C. The if condition should use 'params.deploy' in lowercase
      D. The default value key should be 'defaultValue' not 'default'

      Solution

      1. Step 1: Check boolean parameter syntax

        Jenkins expects booleanParam(name: '', defaultValue: true/false, description: '').
      2. Step 2: Identify incorrect key

        The snippet uses default instead of defaultValue, causing syntax error.
      3. Final Answer:

        The default value key should be 'defaultValue' not 'default' -> Option D
      4. Quick Check:

        Boolean param uses defaultValue key [OK]
      Hint: Use 'defaultValue' for parameters, not 'default' [OK]
      Common Mistakes:
      • Using 'default' instead of 'defaultValue'
      • Wrong parameter type name
      • Incorrect case in parameter usage
      5.

      You want to create a Jenkins pipeline that asks for two parameters: a choice of ENV with options dev, qa, prod, and a boolean RUN_TESTS. The pipeline should print the selected environment and whether tests will run. Which snippet correctly defines these parameters and uses them in the Print Info stage?

      hard
      A. parameters { choice(name: 'ENV', choices: ['dev', 'qa', 'prod'], description: 'Select environment') booleanParam(name: 'RUN_TESTS', defaultValue: false, description: 'Run tests?') } stages { stage('Print Info') { steps { echo "Environment: ${params.ENV}" echo "Run tests: ${params.RUN_TESTS}" } } }
      B. parameters { choice(name: 'ENV', choices: 'dev,qa,prod', description: 'Select environment') boolean(name: 'RUN_TESTS', defaultValue: false, description: 'Run tests?') } stages { stage('Print Info') { steps { echo "Environment: ${ENV}" echo "Run tests: ${RUN_TESTS}" } } }
      C. parameters { choice(name: 'ENV', choices: ['dev', 'qa', 'prod'], description: 'Select environment') booleanParam(name: 'RUN_TESTS', default: false, description: 'Run tests?') } stages { stage('Print Info') { steps { echo "Environment: ${params.ENV}" echo "Run tests: ${params.RUN_TESTS}" } } }
      D. parameters { choice(name: 'ENV', choices: 'dev,qa,prod', description: 'Select environment') booleanParam(name: 'RUN_TESTS', defaultValue: false, description: 'Run tests?') } stages { stage('Print Info') { steps { echo "Environment: ${params.ENV}" echo "Run tests: ${params.RUN_TESTS}" } } }

      Solution

      1. Step 1: Verify parameter definitions

        Choice parameter requires choices as a list, boolean parameter uses booleanParam with defaultValue.
      2. Step 2: Check parameter usage in steps

        Parameters must be accessed as params.ENV and params.RUN_TESTS inside echo.
      3. Final Answer:

        parameters { choice(name: 'ENV', choices: ['dev', 'qa', 'prod'], description: 'Select environment') booleanParam(name: 'RUN_TESTS', defaultValue: false, description: 'Run tests?') } stages { stage('Print Info') { steps { echo "Environment: ${params.ENV}" echo "Run tests: ${params.RUN_TESTS}" } } } -> Option A
      4. Quick Check:

        Correct parameter syntax + params usage = parameters { choice(name: 'ENV', choices: ['dev', 'qa', 'prod'], description: 'Select environment') booleanParam(name: 'RUN_TESTS', defaultValue: false, description: 'Run tests?') } stages { stage('Print Info') { steps { echo "Environment: ${params.ENV}" echo "Run tests: ${params.RUN_TESTS}" } } } [OK]
      Hint: Use list for choices and 'params.' prefix to access parameters [OK]
      Common Mistakes:
      • Passing choices as comma string instead of list
      • Using 'default' instead of 'defaultValue' for booleanParam
      • Accessing parameters without 'params.' prefix
      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