Я пробовал это сам недавно с небольшим успехом. Кажется, проблема в этом. Согласно documentation for class FileParameterValue есть конструктор, который принимает java.io.File
так:
@DataBoundConstructor
FileParameterValue(String name,
org.apache.commons.fileupload.FileItem file)
Существует еще один которым ожидает FileItem
так:
FileParameterValue(String name,
File file,
String originalFileName)
Но так как только бывший помечается @DataBoundConstructor
даже когда это Я пытаюсь использовать последний в скрипте:
file = new File(pwd(), 'test.txt');
build(
job: 'jobB',
parameters: [
[$class: "FileParameterValue", name: "TEST_FILE", file: file, originalFileName: 'test.txt']
]
)
Заметим, что это requi Рез утверждения сценария инстанцировании java.io.File
... Я получаю следующее сообщение об ошибке:
java.lang.ClassCastException: hudson.model.FileParameterValue.file expects interface org.apache.commons.fileupload.FileItem but received class java.io.File
Я понимаю, что только файл загружен пользователем в качестве интерактивного ввода среды выполнения обеспечивает объект типа org.apache.commons.fileupload.FileItem
так в конец я прибегал к archiving the file в первом задании, а unarchiving - в работе вниз по течению, и обошел эту проблему. Конечно, это не идеально, но если вы в пробке, это самый быстрый способ разобраться.