def q = Jenkins.instance.queue
//Find items in queue that match <project name>
def queue = q.items.findAll { it.task.name.startsWith('sample_project') }
//get all jobs id to list
def queue_list = []
queue.each { queue_list.add(it.getId()) }
//sort id's, remove last one - in order to keep the newest job, cancel the rest
queue_list.sort().take(queue_list.size() - 1).each { q.doCancelItem(it) }
but I'm using pipeline script wand when I try to run like below :
"
node("${NODE}") {
def description = "${PR_NO} ${TITLE}"
currentBuild.setDescription("${PR_NO}")
try {
check_for_queue()
stage "Check for Build Location"
sh "/projects/ngidelde/HG/Jenkins_Utils/Weekly_PEG_Wraper.sh ${Weekly_Branch} build_folder_creation"
stage "Clone Loadtools"
sh "/projects/ngidelde/HG/Jenkins_Utils/Weekly_PEG_Wraper.sh ${Weekly_Branch} clone_load_tools"
stage "Checkout PEG"
sh "/projects/ngidelde/HG/Jenkins_Utils/Weekly_PEG_Wraper.sh ${Weekly_Branch} checkout_peg"
stage "Update Forest"
sh "/projects/ngidelde/HG/Jenkins_Utils/Weekly_PEG_Wraper.sh ${Weekly_Branch} update_forest"
stage "Get Version"
//sh "/projects/ngidelde/HG/Jenkins_Utils/Weekly_PEG_Wraper.sh ${Weekly_Branch} get_version"
stage "Build"
//sh "/projects/ngidelde/HG/Jenkins_Utils/Weekly_PEG_Wraper.sh ${Weekly_Branch} build"
stage "Push HG"
//sh "/projects/ngidelde/HG/Jenkins_Utils/Weekly_PEG_Wraper.sh ${Weekly_Branch} pushHG_peg"
stage "get_packpath"
//sh "/projects/ngidelde/HG/Jenkins_Utils/Weekly_PEG_Wraper.sh ${Weekly_Branch} get_packpath"
stage "Build links"
//sh "/projects/ngidelde/HG/Jenkins_Utils/Weekly_PEG_Wraper.sh ${Weekly_Branch} build_links"
}
catch (err) {
currentBuild.result = "FAILURE"
mail bcc: '', body: "Hello,\n\nJenkins has detected a failed build on builder PEG while building ${Weekly_Branch}.\nFull details are available at: ${env.BUILD_URL}.\nSincerely,\n-Jenkins", cc: '', from: 'hari....@amadeus.com', replyTo: '', subject: "build failure in PEG on ${Weekly_Branch}", to: 'hari....@amadeus.com'
throw err
}
}
@NonCPS
def check_for_queue()
{
def q = Jenkins.instance.queue
def queue = q.items.findAll { it.task.name.startsWith("PEG_PRD_8-5") }
def queue_list = []
queue.each { queue_list.add(it.getId()) }
queue_list.sort().take(queue_list.size() - 1).each { q.doCancelItem(it) }
}
"
groovy.lang.MissingPropertyException: No such property: it for class: WorkflowScript at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:53) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.getProperty(ScriptBytecodeAdapter.java:458) at org.kohsuke.groovy.sandbox.impl.Checker$4.call(Checker.java:243) at org.kohsuke.groovy.sandbox.GroovyInterceptor.onGetProperty(GroovyInterceptor.java:52) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:308) at org.kohsuke.groovy.sandbox.impl.Checker$4.call(Checker.java:241) at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:238) at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:221) at org.kohsuke.groovy.sandbox.impl.Checker$checkedGetProperty.callStatic(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:56) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:194) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:230) at WorkflowScript$_check_for_queue_closure1.doCall(WorkflowScript:56) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1024) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:42) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) at org.codehaus.groovy.runtime.callsite.BooleanReturningMethodInvoker.invoke(BooleanReturningMethodInvoker.java:51) at org.codehaus.groovy.runtime.callsite.BooleanClosureWrapper.call(BooleanClosureWrapper.java:53) at org.codehaus.groovy.runtime.DefaultGroovyMethods.findAll(DefaultGroovyMethods.java:4281) at org.codehaus.groovy.runtime.DefaultGroovyMethods.findAll(DefaultGroovyMethods.java:4170) at org.codehaus.groovy.runtime.dgm$198.invoke(Unknown Source) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce
any idea onthis ?