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 jenkinsci-users+unsubscr...@googlegroups.com.
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