Bir jenkins iş yapılandırmasını yeniden başlatmadan programlı olarak nasıl değiştirebilirim?


10

Jenkins işlerinde, o işin yapılandırmasını depolayan config.xml dosyaları bulunur.

Diğer işlerin yapılandırmasını değiştiren bir "iş yöneticisi" işim var, ancak Jenkins'i yeniden başlatmadan yeni yapılandırmayı kabul edemiyorum.

Jenkins-cli.jar komut satırı aracının garip bir şekilde bu eylem için bir seçeneği yok gibi görünüyor.

Bu ise düzenlemeye web arayüzü aracılığıyla yapılandırma mümkün ve bunun bir teknik imkânsızlık olacağını görünmüyor böylece tasarruf /, yeniden başlatmaya gerek kalmadan kabul elinde.

En iyi denemem, web arayüzünün yaptığı adrese göndermeyi denemekti

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

... ancak geçerli kimlik bilgilerini kullanmama rağmen 403 alıyorum (yazım hatası olmaması için kopya yapıştırıldı)

Herhangi bir fikrim veya eksik olduğum basit bir şey bilen var mı?


kutsal saçmalık. GERÇEKTEN ÇALIŞIR !!! (Catskul'un aşağıda önerdiği gibi kimlik doğrulaması düzeltildi veya benim durumumda kimlik doğrulaması olmadan) Bu tekniği saatlerdir arıyordum ...
Dave Dopson

Yanıtlar:


8

Görünüşe göre, beklenen protokolü takip etmeyen Jenkins gibi belirsiz web sunucusu yapılandırmaları için olan crutial bilginin wget'in "--a-no-challenge" seçeneği olduğu anlaşılıyor:

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

Kıvrılmayı tercih ederim ....

curl "http://localhost:18080/jenkins/job/npm-package-aaa/config.xml" -si --data-binary "$XML" -H "Content-Type: text/xml" 
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.