Хорошо. В настоящее время у меня нет кода, но у меня есть мысли.
1-й шаг:
вы можете использовать любой API jenkins (REST, оболочку python и т. д.), чтобы вывести все имена ваших заданий в текстовый файл, говоря job_list.txt
. Ниже приведен пример. И вы можете узнать об использовании по этой ссылке.
import jenkins
j = jenkins.Jenkins('http://your_url_here', 'username', 'password')
j.get_jobs()
2-й шаг:
Как видите, у каждого задания есть файл конфигурации с путем, например, $JENKINS_HOME/jobs/job_name/config.xml
. Это также может быть доступно из вашего браузера. Из браузера это выглядит так:
![получатели отображаются в файле config.xml задания jenkins](https://i.stack.imgur.com/zo4k5.png)
Таким образом, ваш вопрос можно упростить следующим образом:
"Как обновить значение получателей файла config.xml из каждой папки заданий в каталоге $JENKINS_HOME/jobs
".
Или:
"Как обновить значение получателей в config.xml для каждого URL-адреса задания, например http://your_jenkins_url/job/each_job_name/config.xml
".
Таким образом, это можно сделать с помощью любого языка сценариев, такого как python
,ruby
,shell
,vb
, или любой другой http-подобной библиотеки, такой как «urllib2», «запросы» и т. д.
3-й шаг:
После обновления всего файла config.xml не забудьте перезапустить jenkins, чтобы изменения вступили в силу.
Удачи, приятель!
Отредактировано (2015-05-27)
Существует существующий сценарий Groovy, написанный @edalquist, который может программно обновлять адрес электронной почты. https://github.com/jenkinsci/jenkins-scripts/blob/master/scriptler/updateEmailAddress.groovy
person
mainframer
schedule
24.05.2015