Bird
Raised Fist0
Jenkinsdevops~10 mins

Options directive (timeout, retry) 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 set a timeout of 10 minutes for the Jenkins pipeline stage.

Jenkins
options {
  timeout(time: [1], unit: 'MINUTES')
}
Drag options to blanks, or click blank then click option'
A10
B5
C15
D20
Attempts:
3 left
💡 Hint
Common Mistakes
Using seconds instead of minutes
Forgetting to specify the unit
2fill in blank
medium

Complete the code to retry the pipeline 3 times on failure.

Jenkins
options {
  retry(count: [1])
}
Drag options to blanks, or click blank then click option'
A3
B1
C5
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Setting retry to 0 which disables retries
Using too high retry count causing long waits
3fill in blank
hard

Fix the error in the options directive to set a timeout of 15 minutes.

Jenkins
options {
  timeout(time: [1], unit: 'minutes')
}
Drag options to blanks, or click blank then click option'
A15m
B15
C'15'
Dfifteen
Attempts:
3 left
💡 Hint
Common Mistakes
Using string instead of number
Using words or suffixes like 'm'
4fill in blank
hard

Fill both blanks to set a retry count of 4 and a timeout of 20 minutes.

Jenkins
options {
  retry(count: [1])
  timeout(time: [2], unit: 'MINUTES')
}
Drag options to blanks, or click blank then click option'
A4
B20
C10
D3
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing retry and timeout values
Using wrong units or types
5fill in blank
hard

Fill all three blanks to set a retry count of 2, a timeout of 5 minutes, and use the correct unit.

Jenkins
options {
  retry(count: [1])
  timeout(time: [2], unit: '[3]')
}
Drag options to blanks, or click blank then click option'
A2
B5
CMINUTES
DSECONDS
Attempts:
3 left
💡 Hint
Common Mistakes
Using lowercase unit
Using wrong retry count or timeout values

Practice

(1/5)
1. What is the main purpose of the timeout option in a Jenkins pipeline?
easy
A. To stop a build if it runs longer than a specified time
B. To retry a failed build step multiple times
C. To schedule a build at a specific time
D. To increase the build's priority in the queue

Solution

  1. Step 1: Understand the role of timeout

    The timeout option is used to limit how long a build or step can run.
  2. Step 2: Identify the effect of timeout

    If the build runs longer than the set time, Jenkins stops it to save resources.
  3. Final Answer:

    To stop a build if it runs longer than a specified time -> Option A
  4. Quick Check:

    Timeout = stop long builds [OK]
Hint: Timeout stops builds running too long [OK]
Common Mistakes:
  • Confusing timeout with retry
  • Thinking timeout schedules builds
  • Assuming timeout increases priority
2. Which of the following is the correct syntax to set a retry of 3 times in a Jenkins pipeline options block?
easy
A. options { retry(3); }
B. options { retry 3 }
C. options { retry(3) {} }
D. options { retry(3) }

Solution

  1. Step 1: Recall Jenkins options syntax

    The correct syntax uses retry(3) inside the options block without extra braces.
  2. Step 2: Identify the valid option

    options { retry(3) } matches the correct syntax exactly: options { retry(3) }.
  3. Final Answer:

    options { retry(3) } -> Option D
  4. Quick Check:

    Retry syntax = retry(3) inside options [OK]
Hint: Use retry(3) inside options block without extra braces [OK]
Common Mistakes:
  • Adding extra braces after retry(3)
  • Using retry without parentheses
  • Placing retry outside options block
3. Given this Jenkins pipeline snippet:
options {
  timeout(time: 5, unit: 'MINUTES')
  retry(2)
}

stage('Test') {
  steps {
    script {
      def count = 0
      retry(2) {
        count++
        if (count < 3) {
          error('Fail')
        }
      }
      echo "Count is ${count}"
    }
  }
}

What will be the output of the echo command?
medium
A. Count is 1
B. Count is 2
C. Count is 3
D. Build fails before echo

Solution

  1. Step 1: Understand retry behavior in script

    The inner retry(2) block retries the enclosed code up to 2 times on failure.
  2. Step 2: Trace the count increments and errors

    First run: count=1, error thrown (count<3). Retry 1: count=2, error thrown. Retry 2: count=3, no error, exits retry.
  3. Step 3: Determine echo output

    After retries, count is 3, so echo "Count is 3" runs.
  4. Final Answer:

    Count is 3 -> Option C
  5. Quick Check:

    Retry runs until count=3, then echo prints count [OK]
Hint: Count increments on each retry until no error [OK]
Common Mistakes:
  • Assuming retry runs only once
  • Thinking count resets on retry
  • Ignoring retry inside script block
4. You wrote this Jenkins pipeline options block:
options {
  timeout(10)
  retry(3)
}

But the build fails with a syntax error. What is the problem?
medium
A. timeout requires both time and unit parameters
B. retry cannot be used inside options block
C. timeout value must be a string, not a number
D. retry requires a block after the number

Solution

  1. Step 1: Check timeout syntax requirements

    The timeout option requires named parameters: time and unit.
  2. Step 2: Identify missing parameters

    Using timeout(10) alone is invalid; it must be timeout(time: 10, unit: 'MINUTES').
  3. Final Answer:

    timeout requires both time and unit parameters -> Option A
  4. Quick Check:

    Timeout needs time and unit named params [OK]
Hint: Timeout needs time and unit named parameters [OK]
Common Mistakes:
  • Passing only a number to timeout
  • Thinking retry needs a block
  • Confusing timeout value types
5. You want to create a Jenkins pipeline that stops if it runs longer than 2 minutes and retries the entire build up to 2 times if it fails. Which options block correctly implements this?
hard
A. options { timeout(time: 2, unit: 'MINUTES') { retry(2) } }
B. options { timeout(time: 2, unit: 'MINUTES') retry(2) }
C. options { timeout(2) retry(2) }
D. options { retry(2) timeout(2, 'MINUTES') }

Solution

  1. Step 1: Set timeout correctly

    Timeout must use named parameters: time: 2, unit: 'MINUTES'.
  2. Step 2: Add retry correctly

    Retry is a separate option inside the options block: retry(2).
  3. Step 3: Validate options block structure

    options { timeout(time: 2, unit: 'MINUTES') retry(2) } correctly lists both options without nesting or syntax errors.
  4. Final Answer:

    options { timeout(time: 2, unit: 'MINUTES') retry(2) } -> Option B
  5. Quick Check:

    Timeout and retry as separate options inside options block [OK]
Hint: Use named params for timeout and separate retry inside options [OK]
Common Mistakes:
  • Nesting retry inside timeout block
  • Using timeout without named params
  • Wrong parameter order or types
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