let’s assume a pullrequests triggered a build on a builder, before
completing this build if we have some 5 to 6 pullrequests on the same
branch all PR’s will be queud for individual builds.
I found a solution for running only new job and cancle others
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: '[email protected]', replyTo: '', subject: "build failure
in PEG on ${Weekly_Branch}", to: '[email protected]'
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) }
}
"
giving below error :
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 ?
--
*Thanks. With kind regards,*
*HariPrasadChalla*
--
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/CAAseGVSwh0oAbMXdYTiQRQyXQMpaMHCk39_U9JKDfua%3DFNhyyg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.