Задания Jenkins имеют файлы config.xml, в которых хранится конфигурация этого задания.
У меня есть задание «диспетчер заданий», которое изменяет конфигурацию других заданий, но я не могу заставить его подтвердить новую конфигурацию без перезапуска Jenkins.
Инструмент командной строки jenkins-cli.jar, как ни странно, не имеет опции для этого действия.
Это является можно редактировать конфигурацию через веб-интерфейс и сохранять / подтверждать это без перезапуска, поэтому не похоже, что это будет техническая невозможность.
Лучше всего я пытался публиковать сообщения по тому же адресу, что и веб-интерфейс.
wget --post-file=config.xml --user=joe.shmoe --password=secret01 \
--no-check-certificate \
https://jenkins.company.com/job/myProject/config.xml
... но я получаю 403, несмотря на использование действительных учетных данных (копия вставлена, чтобы не было опечаток)
У кого-нибудь есть идеи или что-то простое, что мне не хватает?
Оказывается, критически важной информацией является опция wget "--auth-no-challenge", которая, по-видимому, предназначена для неясных конфигураций веб-серверов, таких как Jenkins, которые не соответствуют ожидаемому протоколу:
wget --auth-no-challenge --user=joe.shmoe --password=secret \
--post-file=config.xml --no-check-certificate \
https://jenkins.company.com/job/myProject/config.xml
Я предпочитаю локон ....
curl "http://localhost:18080/jenkins/job/npm-package-aaa/config.xml" -si --data-binary "$XML" -H "Content-Type: text/xml"