Como posso modificar uma configuração de tarefa jenkins programaticamente sem reiniciar?

9

Os trabalhos do Jenkins têm arquivos config.xml que armazenam a configuração desse trabalho.

Eu tenho um job de "job manager" que modifica a configuração de outros jobs, mas parece que não consigo reconhecer a nova configuração sem reiniciar o Jenkins.

A ferramenta de linha de comando jenkins-cli.jar estranhamente parece não ter uma opção para esta ação.

é possível editar a configuração através da interface web, e ter que salvar / reconhecer sem reiniciar, então não parece que seria uma impossibilidade técnica.

Minha melhor tentativa foi tentar postar no mesmo endereço que a interface da Web

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

... mas recebo um 403 apesar de usar credenciais válidas (cópia colada para garantir que não haja erros de digitação)

Alguém tem alguma ideia ou sabe algo simples que esteja faltando?

    
por Catskul 08.09.2011 / 05:15

2 respostas

6

Acontece que a informação crucial parece ser a opção "--auth-no-challenge" do wget, que aparentemente é para configurações obscuras de servidores Web como o Jenkins que não seguem o 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
    
por 08.09.2011 / 05:45
3

Eu prefiro enrolar ...

curl "http://localhost:18080/jenkins/job/npm-package-aaa/config.xml" -si --data-binary "$XML" -H "Content-Type: text/xml" 
    
por 08.11.2011 / 03:15