Bird
Raised Fist0
Jenkinsdevops~10 mins

Pipeline utility functions 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 read a file content using pipeline utility function.

Jenkins
def content = readFile [1] 'example.txt'
Drag options to blanks, or click blank then click option'
A(
B'('
C[
D{
Attempts:
3 left
💡 Hint
Common Mistakes
Using square brackets or curly braces instead of parentheses.
Forgetting to add parentheses after the function name.
2fill in blank
medium

Complete the code to write text to a file using pipeline utility function.

Jenkins
writeFile [1] file: 'output.txt', text: 'Hello World'
Drag options to blanks, or click blank then click option'
A'('
B[
C(
D{
Attempts:
3 left
💡 Hint
Common Mistakes
Using parentheses instead of square brackets for named arguments.
Using curly braces which are for closures, not maps.
3fill in blank
hard

Fix the error in the code to archive artifacts correctly.

Jenkins
archiveArtifacts [1] 'build/output/*.jar'
Drag options to blanks, or click blank then click option'
A[
B(
C'('
D{
Attempts:
3 left
💡 Hint
Common Mistakes
Using parentheses instead of square brackets.
Passing the path as a plain string without a key.
4fill in blank
hard

Fill both blanks to create a map of file sizes for files larger than 1000 bytes.

Jenkins
def sizes = [file.name: [1] for file in files if file.length() [2] 1000]
Drag options to blanks, or click blank then click option'
Afile.length()
B>
C<
Dfile.name
Attempts:
3 left
💡 Hint
Common Mistakes
Using file name instead of file length for the map value.
Using less than operator instead of greater than.
5fill in blank
hard

Fill all three blanks to filter environment variables starting with 'BUILD_' and map their names to values.

Jenkins
def buildVars = [[1]: env.[2] for [3] in env.getEnvironment().keySet() if [3].startsWith('BUILD_')]
Drag options to blanks, or click blank then click option'
Avar
CvarName
Attempts:
3 left
💡 Hint
Common Mistakes
Using different variable names for key and value.
Using 'var' instead of 'varName' which is more descriptive.

Practice

(1/5)
1. What is the main purpose of Jenkins pipeline utility functions?
easy
A. To manage Jenkins user permissions
B. To create new Jenkins jobs automatically
C. To simplify file and data handling within Jenkins pipelines
D. To monitor Jenkins server performance

Solution

  1. Step 1: Understand the role of pipeline utility functions

    These functions help with tasks like reading files, writing files, and handling data formats inside pipelines.
  2. Step 2: Compare options with the main purpose

    Only To simplify file and data handling within Jenkins pipelines describes simplifying file and data handling, which matches the purpose of these functions.
  3. Final Answer:

    To simplify file and data handling within Jenkins pipelines -> Option C
  4. Quick Check:

    Pipeline utility functions = simplify file/data handling [OK]
Hint: Focus on file and data tasks in pipelines [OK]
Common Mistakes:
  • Confusing pipeline utilities with job creation
  • Thinking they manage user permissions
  • Assuming they monitor server performance
2. Which of the following is the correct syntax to read a JSON file using Jenkins pipeline utility functions?
easy
A. def data = readJSON file: 'config.json'
B. def data = readJson('config.json')
C. def data = read_json file: 'config.json'
D. def data = readJSON('config.json')

Solution

  1. Step 1: Recall the correct function name and syntax

    The Jenkins pipeline utility function to read JSON is readJSON with a named parameter file.
  2. Step 2: Match the syntax with options

    def data = readJSON file: 'config.json' uses readJSON file: 'config.json', which is the correct syntax. Others use incorrect function names or parameter styles.
  3. Final Answer:

    def data = readJSON file: 'config.json' -> Option A
  4. Quick Check:

    Correct syntax = readJSON file: 'filename' [OK]
Hint: Use exact function name and named parameter 'file' [OK]
Common Mistakes:
  • Using wrong function name casing
  • Passing filename as positional argument
  • Using underscores in function names
3. Given the following Jenkins pipeline snippet:
def content = readFile 'example.txt'
writeFile file: 'copy.txt', text: content
What will be the result after running this pipeline?
medium
A. The file 'copy.txt' will contain the same content as 'example.txt'
B. The file 'example.txt' will be deleted
C. An error occurs because writeFile requires a closure
D. The file 'copy.txt' will be empty

Solution

  1. Step 1: Understand readFile usage

    The readFile function reads the entire content of 'example.txt' into the variable content.
  2. Step 2: Understand writeFile usage

    The writeFile function writes the text stored in content into a new file named 'copy.txt'.
  3. Final Answer:

    The file 'copy.txt' will contain the same content as 'example.txt' -> Option A
  4. Quick Check:

    readFile + writeFile = copy content [OK]
Hint: readFile reads, writeFile writes content to file [OK]
Common Mistakes:
  • Assuming writeFile deletes files
  • Thinking writeFile needs a closure
  • Expecting writeFile to append by default
4. You have this Jenkins pipeline code:
unzip zipFile: 'archive.zip', dir: 'output'

The pipeline fails with an error. What is the most likely cause?
medium
A. The 'unzip' function requires the 'zipFile' parameter to be a File object, not a string
B. The 'unzip' function is not available without the Pipeline Utility Steps plugin installed
C. The 'dir' parameter must be an absolute path, not a relative one
D. The 'unzip' function requires a closure to specify files to extract

Solution

  1. Step 1: Check plugin requirement for 'unzip'

    The unzip function is part of the Pipeline Utility Steps plugin, which must be installed for it to work.
  2. Step 2: Analyze error cause

    If the plugin is missing, the function call will fail regardless of parameters. Other options are incorrect because strings are accepted and relative paths work.
  3. Final Answer:

    The 'unzip' function is not available without the Pipeline Utility Steps plugin installed -> Option B
  4. Quick Check:

    Missing plugin = unzip fails [OK]
Hint: Check if Pipeline Utility Steps plugin is installed [OK]
Common Mistakes:
  • Assuming parameter types are wrong
  • Thinking relative paths are invalid
  • Expecting unzip to need a closure
5. You want to check if a file named 'config.yaml' exists in your workspace before reading it in a Jenkins pipeline. Which pipeline utility function and approach should you use?
hard
A. Use readJSON file: 'config.yaml' to check and read the file
B. Use readFile('config.yaml') directly and catch exceptions if file missing
C. Use writeFile file: 'config.yaml' to create the file before reading
D. Use fileExists('config.yaml') to check existence, then readFile('config.yaml') to read

Solution

  1. Step 1: Identify function to check file existence

    The fileExists function returns true if the file is present, false otherwise.
  2. Step 2: Use conditional logic to read file safely

    Check with fileExists first, then read with readFile only if the file exists to avoid errors.
  3. Final Answer:

    Use fileExists('config.yaml') to check existence, then readFile('config.yaml') to read -> Option D
  4. Quick Check:

    Check fileExists before readFile [OK]
Hint: Always check fileExists before reading files [OK]
Common Mistakes:
  • Trying to read file without checking existence
  • Using readJSON on a YAML file
  • Creating file before reading unnecessarily
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