Bird
Raised Fist0
Jenkinsdevops~5 mins

Input step for manual approval in Jenkins - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of the input step in a Jenkins pipeline?
The input step pauses the pipeline and waits for a manual approval or input from a user before continuing.
Click to reveal answer
beginner
How do you define a simple manual approval step in a Jenkins scripted pipeline?
Use input 'Approve deployment?' inside the pipeline script to pause and ask for approval.
Click to reveal answer
intermediate
What happens if the manual approval is not given in the Jenkins input step?
The pipeline stays paused indefinitely until a user approves or aborts the input step.
Click to reveal answer
intermediate
Can you customize the message and submitter for the Jenkins input step?
Yes, you can add parameters like message and submitter to control the prompt text and who can approve.
Click to reveal answer
intermediate
Show an example of an input step that only allows user 'admin' to approve.
Example:
input message: 'Approve deployment?', submitter: 'admin'
Click to reveal answer
What does the Jenkins input step do in a pipeline?
APauses the pipeline and waits for manual approval
BAutomatically approves the pipeline
CSkips the current stage
DRestarts the pipeline
Which parameter restricts who can approve the Jenkins input step?
Amessage
Bstage
Ctimeout
Dsubmitter
What happens if no one approves the Jenkins input step?
APipeline continues automatically
BPipeline fails immediately
CPipeline stays paused indefinitely
DPipeline restarts
How do you add a simple input step with the message 'Proceed with deployment?'?
Await 'Proceed with deployment?'
Binput 'Proceed with deployment?'
Cpause 'Proceed with deployment?'
Dapprove 'Proceed with deployment?'
Which Jenkins pipeline type supports the input step?
ADeclarative and scripted pipelines
BOnly scripted pipelines
COnly declarative pipelines
DFreestyle projects only
Explain how the Jenkins input step works and why it is useful in pipelines.
Think about stopping a process to ask for permission before moving on.
You got /4 concepts.
    Describe how to restrict who can approve a Jenkins input step and why this might be important.
    Consider who should have the power to say yes or no.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of the input step in a Jenkins pipeline?
      easy
      A. To send email notifications
      B. To automatically deploy the application
      C. To run tests in parallel
      D. To pause the pipeline and wait for manual approval

      Solution

      1. Step 1: Understand the role of the input step

        The input step is designed to pause the pipeline execution and wait for a user to approve or reject the continuation.
      2. Step 2: Compare with other pipeline actions

        Other options like deployment, testing, or notifications are handled by different steps, not input.
      3. Final Answer:

        To pause the pipeline and wait for manual approval -> Option D
      4. Quick Check:

        Input step = manual pause [OK]
      Hint: Input step always waits for user action [OK]
      Common Mistakes:
      • Confusing input with automated steps
      • Thinking input triggers deployment
      • Assuming input sends notifications
      2. Which of the following is the correct syntax to add a manual approval input step in a Jenkins declarative pipeline?
      easy
      A. input message: 'Approve deployment?'
      B. input('Approve deployment?')
      C. input { message: 'Approve deployment?' }
      D. input message = 'Approve deployment?'

      Solution

      1. Step 1: Recall Jenkins input step syntax

        The correct syntax uses the input step with named parameters like message: 'text'.
      2. Step 2: Check each option

        input message: 'Approve deployment?' matches the correct syntax. Options A, B, and D use incorrect formats or braces.
      3. Final Answer:

        input message: 'Approve deployment?' -> Option A
      4. Quick Check:

        Correct input syntax uses named parameters [OK]
      Hint: Use named parameters with colon for input step [OK]
      Common Mistakes:
      • Using parentheses instead of named parameters
      • Using braces instead of parentheses
      • Assigning message with equals sign
      3. Given the following Jenkins scripted pipeline snippet, what will happen when it reaches the input step?
      node {
        stage('Build') {
          echo 'Building...'
        }
        stage('Approval') {
          input message: 'Proceed with deployment?'
        }
        stage('Deploy') {
          echo 'Deploying...'
        }
      }
      medium
      A. Pipeline pauses and waits for user approval before deploying
      B. Pipeline skips the approval and deploys immediately
      C. Pipeline fails with a syntax error
      D. Pipeline runs all stages without pause

      Solution

      1. Step 1: Analyze the input step behavior

        The input step pauses the pipeline and waits for a user to approve before continuing.
      2. Step 2: Understand pipeline flow

        After approval, the pipeline proceeds to the Deploy stage. Without approval, it stays paused.
      3. Final Answer:

        Pipeline pauses and waits for user approval before deploying -> Option A
      4. Quick Check:

        Input step pauses pipeline = Pipeline pauses and waits for user approval before deploying [OK]
      Hint: Input step always pauses pipeline until user approves [OK]
      Common Mistakes:
      • Assuming input step is skipped automatically
      • Thinking input causes syntax error
      • Believing pipeline runs all stages without pause
      4. Identify the error in this Jenkins pipeline snippet that uses an input step:
      pipeline {
        agent any
        stages {
          stage('Test') {
            steps {
              input message: 'Approve test run?'
              echo 'Running tests...'
            }
          }
        }
      }
      medium
      A. The message parameter is missing quotes
      B. The input step cannot be used in the Test stage
      C. The input step must be inside a script block in declarative pipeline
      D. The echo step must come before the input step

      Solution

      1. Step 1: Understand declarative pipeline input usage

        In declarative pipelines, the input step must be wrapped inside a script block to run scripted steps.
      2. Step 2: Check the snippet

        The input step is directly inside steps without script, causing a syntax error.
      3. Final Answer:

        The input step must be inside a script block in declarative pipeline -> Option C
      4. Quick Check:

        Input in declarative needs script block [OK]
      Hint: Wrap input step in script block in declarative pipelines [OK]
      Common Mistakes:
      • Placing input step directly in steps without script
      • Missing quotes around message
      • Thinking input can't be used in certain stages
      5. You want to add a manual approval step in a Jenkins declarative pipeline that asks the user to confirm deployment with a custom message and a timeout of 1 hour. Which snippet correctly implements this?
      hard
      A. input message: 'Deploy now?', timeout: 3600
      B. script { input message: 'Deploy now?', timeout: 3600 }
      C. script { input message: 'Deploy now?', timeout: 60, submitter: 'admin' }
      D. script { input message: 'Deploy now?', timeout: 60 }

      Solution

      1. Step 1: Understand timeout parameter unit

        The timeout parameter for input is in seconds, so 1 hour = 3600 seconds.
      2. Step 2: Check declarative pipeline syntax

        Input must be inside a script block in declarative pipelines.
      3. Step 3: Evaluate options

        script { input message: 'Deploy now?', timeout: 3600 } correctly uses script block and timeout 3600 seconds. script { input message: 'Deploy now?', timeout: 60 } uses 60 (1 minute), B lacks script block, C adds submitter but timeout is 60 seconds.
      4. Final Answer:

        script { input message: 'Deploy now?', timeout: 3600 } -> Option B
      5. Quick Check:

        Timeout in seconds + script block = script { input message: 'Deploy now?', timeout: 3600 } [OK]
      Hint: Timeout is seconds; use script block in declarative [OK]
      Common Mistakes:
      • Using timeout in minutes instead of seconds
      • Omitting script block in declarative pipeline
      • Adding unnecessary parameters
      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