I've been trying to separate my code into two different files: callTheFunction.groovy
and theFunction.groovy
.
As you can see from the name of the file:
callTheFunction.groovy
calls the function defined intheFunction.groovy
, passing random values in as parameters.theFunction
is a shell script - inside groovy function - which is supposed to use the parameters passed fromcallTheFunction
.
PROBLEM:
The shell script does not recognize/understand the arguments, the variables are empty, no value.
theFunction.groovy
def call(var1, var2) {
sh '''
echo "MY values $var1 and $var2"
'''
}
callTheFunction.groovy
def call {
pipeline {
stages {
stage ('myscript') {
steps {
theFunction("Value1", "Value2")
}
}
}
}
}
OUTPUT FROM PIPELINE:
MY values and
I am aware that there are similar issues out there: