Как я могу программно изменить конфигурацию задания jenkins без перезагрузки?

10

В заданиях 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 несмотря на использование действительных учетных данных (копия вставлена, чтобы избежать опечаток)

У кого-нибудь есть идеи или есть что-то простое, что мне не хватает?

Catskul
источник
святое дерьмо. ЭТО НА САМОМ ДЕЛЕ РАБОТАЕТ !!! (с аутентификацией, установленной как Catskul предлагает ниже, или в моем случае без аутентификации) Я искал эту технику в течение нескольких часов ...
Дейв Допсон,

Ответы:

8

Оказывается, что ключевая информация - это опция 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
Catskul
источник
4

Я предпочитаю завиток ....

curl "http://localhost:18080/jenkins/job/npm-package-aaa/config.xml" -si --data-binary "$XML" -H "Content-Type: text/xml" 
Дейв Допсон
источник