Дженкинс Отмена (Заданий) Из Очереди По Метке

  • Автор темы Dolphin-X
  • Обновлено
  • 22, Oct 2024
  • #1

Я новичок в Дженкинсе. Я хотел бы отменить задания под собственным лейблом (сотни) из моей Очереди заданий, выданных рабам:

import hudson.model.*  

def q = jenkins.model.Jenkins.getInstance().getQueue()   
def items = q.getItems()

if (job_name_fragment == '' && revision == ''){

println("At least one param is requied")

return 1
}

def count = 0
for (i=0;i<items.length;i++){  

if (items[i].task.getName().contains("trunk") || items[i].task.getName().contains("dev")|| items[i].task.getName().contains("Windows")){

println("Task: " + items[i].task.getName() + " has been skipped")

continue

}

if(job_name_fragment == '' || items[i].task.getFullName().contains(job_name_fragment)){  

if(revision == '' || items[i].params.contains(revision)){

println("Task: " + items[i].task.getFullName() + " has been deleted from queue")

items[i].doCancelQueue()  

count++;

}

}
}
println("")
println("Removed total: " + count + " tasks from queue")
so i then could do:
for (aSlave in hudson.model.Hudson.instance.slaves) {

println('Name: ' + aSlave.name);

println('getLabelString: ' + aSlave.getLabelString());
}

В настоящее время я знаю только, как это сделать, по его имя:

items[i].task.getFullName()
.

Я ищу что-то вроде этого: (когда я перебираю подчиненные устройства, это просто дает мне список доступных меток для одного подчиненного устройства)

items[i].doCancelQueue()

Весь мой код для удаления заданий по названию

jenkins.model.Jenkins.getInstance().getQueue()

Спасибо

#jenkins #jenkins-pipeline

Dolphin-X


Рег
12 Nov, 2004

Тем
83

Постов
200

Баллов
655
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно