У меня есть отличный скрипт для создания папок для моего сервера Jenkins. Плагин папок установлен и работает. Я также установил плагин Job DSL и создал задание Seed. Существует 2 варианта предоставления кода Groovy DSL. 1. Используйте предоставленный сценарий DSL или 2. Посмотрите на файловую систему.
Если я использую вариант 1 и предоставлю этот скрипт, он отлично работает, и я вижу папки:
def folders = '''
Active Folder
Active Folder/DqCpi
Active Folder/DqCtlRent
Active Folder/DqFileBox
'''
def folderList = folders.tokenize('\n')
for (folderName in folderList) {
folder(folderName)
}
Все идет нормально.
Я сохраняю этот код в Folders.groovy внутри папки рабочей области исходного задания, затем пробую вариант 2.
Это не удается, и сообщение об ошибке в консоли:
Processing DSL script Folders.groovy
ERROR: (Folders.groovy, line 1) No signature of method: Folders.?def() is applicable for argument types: (java.lang.String) values: [
Active Folder
Active Folder/DqCpi
Active Folder/DqCtlRent
Active Folder/DqFileBox
]
Possible solutions: grep(), folder(java.lang.String), job(java.lang.String), queue(java.lang.String), use([Ljava.lang.Object;), grep(java.lang.Object)
Finished: FAILURE
Файл Folders.groovy сохраняется в формате UTF8.
Почему встроенная версия работает, а файловая не работает?