Bird
Raised Fist0
Jenkinsdevops~10 mins

Groovy syntax in pipelines in Jenkins - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to define a simple Jenkins pipeline stage named 'Build'.

Jenkins
stage('[1]') {
    steps {
        echo 'Building the project'
    }
}
Drag options to blanks, or click blank then click option'
ATest
BClean
CBuild
DDeploy
Attempts:
3 left
💡 Hint
Common Mistakes
Using a stage name that does not match the task, like 'Test' or 'Deploy'.
Leaving the stage name blank.
2fill in blank
medium

Complete the code to declare a variable named 'version' with value '1.0' in a Jenkins pipeline script.

Jenkins
def [1] = '1.0'
Drag options to blanks, or click blank then click option'
Aversion
Benv
CbuildNumber
DstageName
Attempts:
3 left
💡 Hint
Common Mistakes
Using reserved words like 'env' as variable names.
Using a variable name unrelated to the task.
3fill in blank
hard

Fix the error in the code to correctly run a shell command in a Jenkins pipeline step.

Jenkins
steps {
    sh '[1]'
}
Drag options to blanks, or click blank then click option'
Aecho Hello World
Bwrite('Hello World')
Cconsole.log('Hello World')
Dprint('Hello World')
Attempts:
3 left
💡 Hint
Common Mistakes
Using programming language print functions instead of shell commands.
Missing quotes around the shell command.
4fill in blank
hard

Fill both blanks to create a Jenkins pipeline script that runs a shell command only if the branch is 'main'.

Jenkins
if (env.BRANCH_NAME [1] '[2]') {
    sh 'echo Deploying to production'
}
Drag options to blanks, or click blank then click option'
A==
B!=
Cmain
Ddevelop
Attempts:
3 left
💡 Hint
Common Mistakes
Using '!=' instead of '==' for equality check.
Using the wrong branch name like 'develop'.
5fill in blank
hard

Fill all three blanks to create a map in Groovy with keys 'name' and 'status', and a condition to include only if status is 'success'.

Jenkins
def result = [[1]: 'Build', [2]: 'success']
if (result.[3] == 'success') {
    echo 'Build succeeded'
}
Drag options to blanks, or click blank then click option'
Aname
Bstatus
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up keys and values.
Using incorrect key names in the condition.

Practice

(1/5)
1. In a Jenkins pipeline script using Groovy, what does the stage block represent?
easy
A. A loop for repeating tasks
B. A logical phase or step in the pipeline process
C. A function definition
D. A variable declaration

Solution

  1. Step 1: Understand the purpose of stage in Jenkins pipelines

    The stage block is used to define a distinct phase or step in the pipeline, such as build, test, or deploy.
  2. Step 2: Differentiate from other Groovy constructs

    It is not a variable, function, or loop but a way to organize pipeline tasks clearly.
  3. Final Answer:

    A logical phase or step in the pipeline process -> Option B
  4. Quick Check:

    stage = logical step [OK]
Hint: Remember: stage means a step or phase in pipeline [OK]
Common Mistakes:
  • Confusing stage with variable or function
  • Thinking stage is a loop
  • Assuming stage is a Groovy keyword unrelated to Jenkins
2. Which of the following is the correct syntax to define a variable name with value Jenkins in a Groovy pipeline script?
easy
A. name := "Jenkins"
B. var name = 'Jenkins'
C. def name = "Jenkins"
D. let name = 'Jenkins'

Solution

  1. Step 1: Recall Groovy variable declaration syntax

    Groovy uses def to declare variables, so def name = "Jenkins" is correct.
  2. Step 2: Identify incorrect syntax

    var and let are JavaScript keywords, and := is not Groovy syntax.
  3. Final Answer:

    def name = "Jenkins" -> Option C
  4. Quick Check:

    def declares variables in Groovy [OK]
Hint: Use def to declare variables in Groovy [OK]
Common Mistakes:
  • Using JavaScript keywords like var or let
  • Using := which is not Groovy syntax
  • Forgetting quotes around string values
3. What will be the output of this Groovy pipeline snippet?
def result = []
for (i in 1..3) {
  result << i * 2
}
return result
medium
A. [2, 4, 6]
B. [1, 2, 3]
C. [3, 6, 9]
D. SyntaxError

Solution

  1. Step 1: Understand the loop and range

    The loop runs from 1 to 3 inclusive, so i takes values 1, 2, 3.
  2. Step 2: Calculate each iteration's result

    Each i is multiplied by 2 and added to the list: 2, 4, 6.
  3. Final Answer:

    [2, 4, 6] -> Option A
  4. Quick Check:

    Loop 1..3 * 2 = [2,4,6] [OK]
Hint: Multiply each loop value by 2 and collect in list [OK]
Common Mistakes:
  • Confusing range syntax with exclusive end
  • Forgetting to append to list
  • Expecting syntax error due to unfamiliar Groovy syntax
4. Identify the error in this Jenkins pipeline Groovy snippet:
pipeline {
  agent any
  stages {
    stage('Build') {
      steps {
        echo 'Building...'
      }
    }
  }
  post {
    always {
      echo 'Cleaning up'
    }
  }
}
medium
A. No error, syntax is correct
B. Missing script block inside steps
C. Missing environment block
D. Incorrect use of post block outside stages

Solution

  1. Step 1: Review pipeline structure

    The pipeline has agent, stages with one stage and post block correctly placed.
  2. Step 2: Check syntax correctness

    Using echo inside steps is valid without needing script. The post block is correctly outside stages.
  3. Final Answer:

    No error, syntax is correct -> Option A
  4. Quick Check:

    Pipeline syntax valid as given [OK]
Hint: Remember post block is outside stages, steps can have echo directly [OK]
Common Mistakes:
  • Thinking echo needs script block
  • Assuming post must be inside stages
  • Expecting environment block is mandatory
5. How can you write a Groovy pipeline snippet to run a shell command ls -l only if a variable runList is true?
hard
A. stage('List') { if runList sh 'ls -l' }
B. when (runList) { sh 'ls -l' }
C. sh 'ls -l' if runList
D. if (runList) { sh 'ls -l' }

Solution

  1. Step 1: Use Groovy if statement syntax

    Groovy uses if (condition) { ... } to run code conditionally.
  2. Step 2: Apply condition to run shell command

    Inside the steps block, if (runList) { sh 'ls -l' } runs the shell command only if runList is true.
  3. Final Answer:

    if (runList) { sh 'ls -l' } -> Option D
  4. Quick Check:

    Groovy if syntax with braces [OK]
Hint: Use if(condition) { ... } to run commands conditionally [OK]
Common Mistakes:
  • Using when instead of if for condition
  • Omitting parentheses in if statement
  • Trying inline if without proper Groovy syntax
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