¿Cómo puedo modificar una configuración de trabajo de jenkins mediante programación sin reiniciar?

10

Los trabajos de Jenkins tienen archivos config.xml que almacenan la configuración de ese trabajo.

Tengo un trabajo de "administrador de trabajos" que modifica la configuración de otros trabajos, pero parece que no puedo reconocer la nueva configuración sin reiniciar Jenkins.

La herramienta de línea de comando jenkins-cli.jar extrañamente no parece tener una opción para esta acción.

Que es posible editar la configuración a través de la interfaz web, y tienen que guardar / reconoció sin reiniciar el equipo, por lo que no parece que sería una imposibilidad técnica.

Mi mejor intento fue probar y publicar en la misma dirección que la interfaz web

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

... pero obtengo un 403 a pesar de usar credenciales válidas (copia pegada para asegurar que no haya errores tipográficos)

¿Alguien tiene alguna idea o sabe algo simple que me estoy perdiendo?

Catskul
fuente
Santo cielo. ¡ESO REALMENTE FUNCIONA! (con la autenticación corregida como Catskul sugiere a continuación, o en mi caso sin autenticación) He estado buscando esta técnica durante horas ahora ...
Dave Dopson

Respuestas:

8

Resulta que la información crucial parece ser la opción "--auth-no-challenge" de wget que aparentemente es para configuraciones oscuras de servidor web como Jenkins que no siguen el protocolo esperado:

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
fuente
4

Prefiero el rizo ...

curl "http://localhost:18080/jenkins/job/npm-package-aaa/config.xml" -si --data-binary "$XML" -H "Content-Type: text/xml" 
Dave Dopson
fuente