С Jenkins 1.494 я смог отправить файл в параметр задания в Ubuntu Linux 12.10, используя curl
с --form
параметрами:
curl --form name=myfileparam --form file=@/local/path/to/your/file.xml \
-Fjson='{"parameter": {"name": "myfileparam", "file": "file"}}' \
-Fsubmit=Build \
http://user:password@jenkinsserver/job/jobname/build
На сервере Jenkins я настроил заданиекоторый принимает один параметр: параметр загрузки файла с именем myfileparam
.
Первая строка этого вызова curl создает веб-форму с параметром с именем myfileparam
(так же, как в задании);его значением будет содержимое файла в локальной файловой системе с именем /local/path/to/your/file.txt
.Префикс символа @
указывает curl отправлять локальный файл вместо заданного имени файла.
Вторая строка определяет запрос JSON, который соответствует параметрам формы в первой строке: параметр файла с именем myfileparam
.
Третья строка активирует кнопку Build формы.Четвертая строка - это URL-адрес задания с суффиксом "/ build".
Если этот вызов выполнен успешно, curl возвращает 0
.Если это не удается, ошибка или исключение из службы выводится на консоль.Этот ответ берет много от старого сообщения в блоге, касающегося Хадсона , которое я разобрал и переработал для своих собственных нужд.