I am new to the build-flow-plugin and have been asked to add some steps to 
an existing job.   While I have a shell script that does this, it was 
requested that I use the build-flow-plugin instead.   I am familiar with 
Groovy as I use it to access information within jenkins, but the DSL/Groovy 
build flow plugin confuses me.   Can someone explain to me how to grab a 
value from Jenkins, or a value that is currently being used in existing 
build-flow, and then go and use it in a later step after everything is 
completed to execute some action.    

This is a reduced list of what is currently configured for the existing 
build flow
bParent = build ("build_start",                             
                              TOOL_BRANCH : params['TOOL_BRANCH'], 
                              TOOL_CHANGE_NUMBER : 
params['TOOL_CHANGE_NUMBER']
  ) 

if (bParent.build.properties.environment['TOOL_CHANGE_MERGED'] == 'TRUE') {
    return 0
} 

parallel (

        {build ("update_issue", EnvVarFile : 
bParent.build.properties.environment['ENV_VAR_FILE']) },
        {build ("verify_commit_message", EnvVarFile : 
bParent.build.properties.environment['ENV_VAR_FILE']) } 

)
 My ultimate goal is to clean up after the steps listed above (rm -rf 
several directories but keep certain directories).   I have tried breaking 
this down to just println a value from Jenkins, and everytime I do this, my 
script fails.

These are the actions I have taken and I included a brief comment about 
each action.

println “${TOOL_BRANCH}”  - my parameter from above

println “${BUILD_ID}”   - Jenkins parameter

println “bParent.build.properties.environment['GIT_TREE']”  - this is the 
directory I want to clean up from the ENV_VAR_FILE, however I can use a 
combination of other values, to obtain the same result

Whenever I try anything above or anything similar I get the following 
error.   What am I missing?

ERROR: Failed to run DSL Script

*groovy.lang.MissingPropertyException* 
<http://stacktrace.jenkins-ci.org/search?query=groovy.lang.MissingPropertyException>:
 
No such property: TOOL_BRANCH for class: Script1

        at 
*org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:50)*
 
<http://stacktrace.jenkins-ci.org/search/?query=org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap&entity=method>

        at 
*org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49)*
 
<http://stacktrace.jenkins-ci.org/search/?query=org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty&entity=method>

        at 
*org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:231)*
 
<http://stacktrace.jenkins-ci.org/search/?query=org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty&entity=method>

        at *Script1.run(Script1.groovy:42)* 
<http://stacktrace.jenkins-ci.org/search/?query=Script1.run&entity=method>

        at Script1$run.call(Unknown Source)

        at 
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)

        at Script1$run.call(Unknown Source)

        at 
com.cloudbees.plugins.flow.FlowDSL.executeFlowScript(FlowDSL.groovy:84)

        at 
com.cloudbees.plugins.flow.FlowRun$FlyweightTaskRunnerImpl.run(FlowRun.java:219)

        at hudson.model.Run.execute(Run.java:1665)

        at com.cloudbees.plugins.flow.FlowRun.run(FlowRun.java:155)

        at 
hudson.model.ResourceController.execute(ResourceController.java:88)

        at hudson.model.Executor.run(Executor.java:246)
        at hudson.model.OneOffExecutor.run(OneOffExecutor.java:66)
 

-- 
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/eb6e8b8a-aaad-4e3a-90c0-75b32eae19f7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to