如何在不重新启动的情况下以编程方式修改jenkins作业配置?


10

Jenkins作业具有config.xml文件,该文件存储该作业的配置。

我有一个“作业管理器”作业,它可以修改其他作业的配置,但是如果不重新启动Jenkins,我似乎无法让它确认新的配置。

奇怪的是,jenkins-cli.jar命令行工具似乎没有此操作的选项。

可能的编辑通过Web界面的配置,并有保存/承认没有重新启动,所以它似乎并不认为这将是一个技术是不可能的。

我最好的尝试是尝试发布到与Web界面相同的地址

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

...但是尽管使用了有效的凭据,我还是得到了403(复制粘贴以确保没有错别字)

任何人有任何想法或知道我缺少的简单知识吗?


哇靠。实际可行!!!(如Catskul所建议的那样,固定了身份验证,或者在我没有身份验证的情况下,我已经在寻找这种技术了好几个小时……
Dave Dopson 2011年

Answers:


8

事实证明,关键信息似乎是wget的“ --auth-no-challenge”选项,该选项显然是针对不遵循预期协议的晦涩的Web服务器配置(例如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

4

我喜欢卷曲...

curl "http://localhost:18080/jenkins/job/npm-package-aaa/config.xml" -si --data-binary "$XML" -H "Content-Type: text/xml" 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.