Hudson
如何在不重新啟動的情況下以程式方式修改詹金斯作業配置?
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(複製粘貼以確保沒有拼寫錯誤)
任何人有任何想法或知道我缺少的一些簡單的東西嗎?
事實證明,關鍵資訊似乎是 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
我更喜歡捲曲……
curl "http://localhost:18080/jenkins/job/npm-package-aaa/config.xml" -si --data-binary "$XML" -H "Content-Type: text/xml"