в настоящее время я пытаюсь автоматизировать мою Jenkins-buildchain.
Я написал groovy-скрипт, который копирует мои работы, меняет метки, SVN и т. Д., Пока все работает.
единственное, чего сейчас не хватает, это изменения вниз по течению от Иова. Вот что я получил до сих пор:
oldVersion="3.1"
newVersion="4.0"
view = Hudson.instance.getView("myviewName");
for (item in newView.getItems()){
println(item.getName());
ArrayList down = item.getDownstreamProjects();
if (down != null){
for (downjob in down){
println("\t"+downjob.getName());
replaceJob=newView.getItem(downjob.getName().replace(oldVersion,newVersion));
println("\t"+replaceJob.getName());
//here I want to add the new version of the job and remove the old one
}
}
}
Я получаю требуемые работы, но не могу их сохранить в проекте выхода.
ни что-то вроде
item.addToList(replaceJob, down)
или
item.getDownstreamProjects().add(replaceJob)
кажется, что это работает, кажется, что я что-то неправильно понимаю, и список не является ссылкой, а копией списка. Кроме того, обе приведенные выше команды ничего не делают и не создают никаких исключений или ошибок
PS: Я новичок в Groovy и во всем этом сценарии Дженкинса, поэтому, пожалуйста, будьте осторожны, если я упускаю что-то очевидное.