Bird
Raised Fist0
Jenkinsdevops~5 mins

currentBuild variables in Jenkins - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is currentBuild in Jenkins pipelines?

currentBuild is a special variable in Jenkins pipelines that holds information about the current running build, such as its status, duration, and result.

Click to reveal answer
beginner
How can you get the result status of the current build using currentBuild?

You can access the build result status with currentBuild.result. It returns values like SUCCESS, FAILURE, or UNSTABLE.

Click to reveal answer
beginner
What does currentBuild.duration represent?

currentBuild.duration gives the time in milliseconds that the build has taken so far or took when finished.

Click to reveal answer
intermediate
How to mark the current build as failed using currentBuild?

Set currentBuild.result = 'FAILURE' in your pipeline script to mark the build as failed.

Click to reveal answer
intermediate
Can currentBuild be used to add a description to the build? How?

Yes, you can add a description by setting currentBuild.description = 'Your description here'.

Click to reveal answer
What type of information does currentBuild provide in Jenkins?
AList of all jobs
BDetails about the current running build
CUser credentials
DInformation about the Jenkins server
How do you check if the current build succeeded using currentBuild?
ACheck if <code>currentBuild.status == 'DONE'</code>
BCheck if <code>currentBuild.finished == true</code>
CCheck if <code>currentBuild.state == 'OK'</code>
DCheck if <code>currentBuild.result == 'SUCCESS'</code>
Which currentBuild property gives the build duration?
A<code>currentBuild.duration</code>
B<code>currentBuild.time</code>
C<code>currentBuild.length</code>
D<code>currentBuild.elapsed</code>
How can you mark a build as unstable using currentBuild?
A<code>currentBuild.state = 'UNSTABLE'</code>
B<code>currentBuild.status = 'UNSTABLE'</code>
C<code>currentBuild.result = 'UNSTABLE'</code>
D<code>currentBuild.finished = 'UNSTABLE'</code>
Which of these is NOT a valid use of currentBuild?
ARestarting Jenkins server
BChanging build result
CAccessing build duration
DSetting build description
Explain what currentBuild is and list three useful properties you can access or modify.
Think about what info about the running build you might want to check or change.
You got /3 concepts.
    Describe how you would use currentBuild to mark a Jenkins pipeline build as failed and add a description explaining why.
    Consider how to communicate failure reasons in the build UI.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the currentBuild.number variable represent in a Jenkins Pipeline?
      easy
      A. The number of failed tests in the build
      B. The unique build number of the current running job
      C. The number of parallel stages in the pipeline
      D. The total number of builds ever run on Jenkins

      Solution

      1. Step 1: Understand the role of currentBuild

        The currentBuild variable holds information about the current Jenkins job execution.
      2. Step 2: Identify what number means

        The number property specifically gives the unique build number assigned to this run.
      3. Final Answer:

        The unique build number of the current running job -> Option B
      4. Quick Check:

        currentBuild.number = build number [OK]
      Hint: Remember: currentBuild.number is the build's unique ID [OK]
      Common Mistakes:
      • Confusing build number with total builds
      • Thinking it counts test failures
      • Mixing it with stage counts
      2. Which of the following is the correct way to access the current build's result status in a Jenkins Pipeline script?
      easy
      A. currentBuild.result
      B. currentBuild.status
      C. currentBuild.state
      D. currentBuild.outcome

      Solution

      1. Step 1: Recall the property for build result

        The Jenkins currentBuild object uses result to store the build status like SUCCESS or FAILURE.
      2. Step 2: Verify other options

        status, state, and outcome are not valid properties for currentBuild.
      3. Final Answer:

        currentBuild.result -> Option A
      4. Quick Check:

        Build status = currentBuild.result [OK]
      Hint: Use currentBuild.result for build status, not status or state [OK]
      Common Mistakes:
      • Using currentBuild.status which is undefined
      • Confusing result with outcome
      • Trying to access non-existent properties
      3. Given this Jenkins Pipeline snippet:
      echo "Build number: ${currentBuild.number}"
      echo "Build status: ${currentBuild.result}"
      

      If the build number is 42 and the build just finished successfully, what will be the output?
      medium
      A. Build number: 42 Build status: SUCCESS
      B. Build number: 42 Build status: null
      C. Build number: null Build status: SUCCESS
      D. Build number: 0 Build status: FAILURE

      Solution

      1. Step 1: Understand variable values after build

        After a successful build, currentBuild.number is the build number (42), and currentBuild.result is "SUCCESS".
      2. Step 2: Substitute variables in echo statements

        Replacing variables gives:
        Build number: 42
        Build status: SUCCESS
      3. Final Answer:

        Build number: 42 Build status: SUCCESS -> Option A
      4. Quick Check:

        Number=42, Result=SUCCESS [OK]
      Hint: After success, currentBuild.result = SUCCESS, number = build ID [OK]
      Common Mistakes:
      • Expecting result to be null before build ends
      • Confusing build number with zero
      • Assuming result is FAILURE by default
      4. You wrote this Jenkins Pipeline snippet:
      if (currentBuild.status == 'SUCCESS') {
        echo 'Build succeeded'
      } else {
        echo 'Build failed'
      }

      But it always prints 'Build failed' even when the build succeeds. What is the issue?
      medium
      A. The string comparison should use == instead of =
      B. The if statement needs parentheses around the condition
      C. The echo command is incorrect syntax
      D. The property should be currentBuild.result, not currentBuild.status

      Solution

      1. Step 1: Identify the incorrect property usage

        The currentBuild object does not have a status property; the correct property for build result is result.
      2. Step 2: Understand why the condition fails

        Since currentBuild.status is undefined, the condition never matches 'SUCCESS', so it always goes to else.
      3. Final Answer:

        The property should be currentBuild.result, not currentBuild.status -> Option D
      4. Quick Check:

        Use currentBuild.result for status check [OK]
      Hint: Use currentBuild.result, not currentBuild.status, for build status [OK]
      Common Mistakes:
      • Using currentBuild.status instead of currentBuild.result
      • Confusing assignment (=) with comparison (==)
      • Incorrect echo syntax in Jenkinsfile
      5. In a Jenkins Pipeline, you want to set the display name of the current build to include the build number and status, like "Build #42 - SUCCESS". Which snippet correctly does this?
      hard
      A. currentBuild.displayName = "Build #${build.number} - ${build.result}"
      B. currentBuild.name = "Build #${currentBuild.number} - ${currentBuild.status}"
      C. currentBuild.displayName = "Build #${currentBuild.number} - ${currentBuild.result}"
      D. currentBuild.setDisplayName("Build #${currentBuild.number} - ${currentBuild.result}")

      Solution

      1. Step 1: Identify the correct property to set display name

        The property to set the build's display name is currentBuild.displayName.
      2. Step 2: Use correct variable names and syntax

        Use currentBuild.number and currentBuild.result inside the string with Groovy string interpolation.
      3. Final Answer:

        currentBuild.displayName = "Build #${currentBuild.number} - ${currentBuild.result}" -> Option C
      4. Quick Check:

        Set displayName with currentBuild.displayName and correct variables [OK]
      Hint: Set displayName with currentBuild.displayName and correct variables [OK]
      Common Mistakes:
      • Using currentBuild.name instead of displayName
      • Using undefined variable 'build'
      • Trying to call setDisplayName() which doesn't exist
      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