Znalazłem ten przykładowy skrypt (od https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+System+Groovy+script) i chciałem przetestować sparametryzowaną wtyczkę budującą Jenkinsa, ale ten skrypt zgłasza błąd. Spodziewałem się, że to zadziała, jakieś pomysły, dlaczego tak nie jest?Dlaczego ten skrypt Groovy kończy się niepowodzeniem w Jenkins, aby uzyskać parametry zadania?
Tutaj jest błąd pojawia się:
/app/jenkins/workspace/Example-Parameterized-Trigger1/hudson2425966133354362461.groovy: 10:
unable to resolve class ParametersAction
@ line 10, column 53.
?.actions.find{ it instanceof Parameters ^
1 error
Build step 'Execute Groovy script' marked build as failure
Oto scenariusz:
import hudson.model.*
// get current thread/Executor
def thr = Thread.currentThread()
// get current build
def build = thr?.executable
// get parameters
def parameters = build?.actions.find{ it instanceof ParametersAction }?.parameters
parameters.each {
println "parameter ${it.name}:"
println it.dump()
println "-" * 80
}
// ... or if you want the parameter by name ...
def hardcoded_param = "FOOBAR"
def resolver = build.buildVariableResolver
def hardcoded_param_value = resolver.resolve(hardcoded_param)
println "param ${hardcoded_param} value : ${hardcoded_param_value}"
Rozumiem. To ma sens. Pozwól mi to zbadać. Dzięki. – djangofan
Użyłem 'Execute system Groovy script' zamiast' Execute Groovy script', ale wciąż dostaję ten sam błąd. Czy potrzebny jest dodatkowy krok podczas korzystania z 'Execute system Groovy script'? – octavian
@octavian Zwykle - nie. Jaki masz błąd? –