Interview Scripting (Bash, Groovy)

How do you define and call a function (or step) in a Jenkins Groovy pipeline? [Advanced]

Answer

In a Jenkinsfile, I can define a Groovy function with def name(args) { ... } or create a reusable shared-library step in vars/name.groovy with def call(...). I call it like any other Pipeline step.

Technical explanation

Small helper functions can live in a Jenkinsfile, but widely reused logic belongs in a shared library.

Pipeline steps inside functions must run in the right Jenkins context, usually inside node/agent execution.

Shared-library steps should accept maps for optional parameters and validate required inputs clearly.

Hands-on example

def notify(String status) {

echo "Build ${env.JOB_NAME} #${env.BUILD_NUMBER}: ${status}"

}

pipeline {

agent any

stages { stage('Test') { steps { sh 'make test' } } }

post {

success { script { notify('SUCCESS') } }

failure { script { notify('FAILURE') } }

}

}

Preparing for an interview?

Check how well your resume matches the role with our free resume checker— match score, ATS check, and the skills you're missing.

More Scripting (Bash, Groovy) interview questions

← All Scripting (Bash, Groovy) questions