Bagaimana saya bisa memodifikasi konfigurasi pekerjaan jenkins secara terprogram tanpa restart?


10

Pekerjaan Jenkins memiliki file config.xml yang menyimpan konfigurasi pekerjaan itu.

Saya memiliki pekerjaan "manajer pekerjaan" yang memodifikasi konfigurasi pekerjaan lain, tetapi saya tidak bisa mendapatkannya untuk mengakui konfigurasi baru tanpa memulai ulang Jenkins.

Alat baris perintah jenkins-cli.jar anehnya tidak memiliki opsi untuk tindakan ini.

Hal ini dimungkinkan untuk mengedit konfigurasi melalui antarmuka web, dan memiliki yang menyimpan / mengakui tanpa restart, sehingga tidak tampak bahwa itu akan menjadi kemustahilan teknis.

Percobaan terbaik saya adalah mencoba dan memposting ke alamat yang sama dengan antarmuka web

wget --post-file=config.xml --user=joe.shmoe --password=secret01 \
     --no-check-certificate                                      \
     https://jenkins.company.com/job/myProject/config.xml

... tapi saya mendapatkan 403 meskipun menggunakan kredensial yang valid (salin disisipkan untuk memastikan tidak ada kesalahan ketik)

Adakah yang punya ide atau tahu sesuatu yang sederhana yang saya lewatkan?


omong kosong suci. YANG SEBENARNYA BEKERJA !!! (dengan otentikasi diperbaiki seperti yang disarankan Catskul di bawah ini, atau dalam kasus saya tanpa auth) Saya sudah mencari teknik ini selama berjam-jam sekarang ...
Dave Dopson

Jawaban:


8

Ternyata info crutial tampaknya menjadi opsi "--auth-no-challenge" wget yang tampaknya untuk konfigurasi server web yang tidak jelas seperti Jenkins yang tidak mengikuti protokol yang diharapkan:

wget --auth-no-challenge --user=joe.shmoe --password=secret  \
     --post-file=config.xml --no-check-certificate           \
     https://jenkins.company.com/job/myProject/config.xml

4

Saya lebih suka ikal ....

curl "http://localhost:18080/jenkins/job/npm-package-aaa/config.xml" -si --data-binary "$XML" -H "Content-Type: text/xml" 
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.