Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Find items in queue that match <project name> like "part of BIOS on Stash » bios-images » release/IPM-2.0.0 #26"
- import jenkins.model.*
- def listener = this.getProperty('binding').getVariable('listener')
- def env = build.getEnvironment(listener)
- def q = Jenkins.instance.queue
- //get all jobs id to the killing-list
- def queue_list = []
- def queue_sidebranches = q.items.findAll {
- !it.task.name.contains('sc-') &&
- !it.task.name.contains('rc-') &&
- !it.task.name.contains('ova-') &&
- !it.task.name.contains('selenium') &&
- !it.task.name.contains('PR-') &&
- !it.task.name.contains('CB') &&
- !it.task.name.contains('Cloudberry') &&
- !it.task.name.contains('master') &&
- !it.task.name.contains('FTY')
- /*
- &&
- !it.task.name.contains('release/') &&
- !it.task.name.contains('release%2F') &&
- !it.task.name.contains('featureimage/') &&
- !it.task.name.contains('featureimage%2F')
- */
- }
- println "FOUND " + queue_sidebranches.size() + " side-branch items:"
- queue_sidebranches.sort().each {
- println "FOUND : ${it.task.name} \t => " + it.getId() + " ..." ;
- queue_list.add(it.getId()) ;
- }
- // For the other job definitions, go over main branches we do want to get built, but only keep the newest one
- def branch_list = [ 'master' ]
- [ 'release/', 'release%2F' ].each {brPrefix ->
- [ 'IPM-2.0.1', 'IPM-2.0.0', 'IPM_Infra-1.5.1', 'IPM_Infra-1.5.0', 'IPM_Infra-1.4', 'IPM_Infra-1.3' ].each {relNum ->
- branch_list.add(brPrefix + relNum);
- }
- }
- [ 'featureimage/', 'featureimage%2F' ].each {brPrefix ->
- [ 'licensing-credits', 'mariadb-caching', 'modbus-powermeter', 'alert-refactoring' ].each {featName ->
- branch_list.add(brPrefix + featName);
- }
- }
- def component_list = ['bios-images']
- //....
- component_list.each { compName ->
- println "Inspecting component '${compName}' ..."
- branch_list.each { brName ->
- def queue = q.items.findAll { it.task.name.contains(compName) && it.task.name.contains(brName) }
- if (queue.size() > 1) {
- def queue_list1 = []
- queue.each {
- println "FOUND : ${it.task.name} \t => " + it.getId() + " ..."
- queue_list1.add(it.getId())
- }
- //sort id's, remove last one - in order to keep the newest job, cancel the rest
- queue_list1.sort().take(queue_list.size() - 1).each {
- queue_list.add(it);
- }
- }
- }
- }
- queue_list.each { println "q.doCancelItem(${it})" ; q.doCancelItem(it) ; }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement