Did you every find a solution or come to understand why its like this? On Sunday, November 13, 2016 at 1:05:14 PM UTC-5, Jonathan Hodgson wrote: > > Ok, so having got my script working, I decided to move part of it into a > shared library as per the section marked Define more structured DSL > here > > https://github.com/jenkinsci/workflow-cps-global-lib-plugin > > But I'm getting what to me seems like very odd behaviour with the > variables. > > My primary jenkins code (on the server in the job configuration, not a > jenkinsfile in this case), looks like this (after cutting it down to the > minimum to test this phenomemon) > > @Library('mylibrary') > > > echo buildparam_project.getClass().name > echo buildparam_project > def check = buildparam_project > > utils = new gforce.utigforce.patchreader() > > > WpfCheckoutAndBuild { > project = "${check} Project is ${buildparam_project}" > } > > buildparam_project is a build parameter > > meanwhile, the file vars/WpfCheckoutAndBuild.groovy looks like this > > def call(body) { > // evaluate the body block, and collect configuration into the object > def buildparam = [:] > body.resolveStrategy = Closure.DELEGATE_FIRST > body.delegate = buildparam > body() > > > echo buildparam.project > } > > > The output I see, is > > [Pipeline] echo java.lang.String > [Pipeline] echo MyProject > [Pipeline] echo MyProject Project is null > [Pipeline] End of Pipeline Finished: SUCCESS > > So buildparam_project can't be passed directly, I have to assign it to > another variable first? > > > I assume this is something going on under the hood that I don't know about, > Groovy can be very odd and Groovy under CPS considerably more so. > > > Could somebody explain it, and ideally give me a solution that doesn't > require me to create copies of every build parameter (I'll do it if I have > to, but it's messy)? > >
-- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/787316c2-4c49-4dc7-9b2a-91e46e34ce79%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
