我正在尝试使用新的电子邮件列表更新jenkins作业的电子邮件收件人,我无法找到正确的API来执行此操作。虽然这可以直接在配置文件中更新,但是如果有的话可以使用Jenkins API
编辑:我指的是以下字段 构建后操作:电子邮件通知>收件人
答案 0 :(得分:1)
好。目前我没有代码,但我有想法。
第一步:
您可以使用任何jenkins API(REST,python包装器等)将所有作业名称转储到txt文件中,并说job_list.txt
。
以下是一个例子。您可以从This link找到用法。
import jenkins
j = jenkins.Jenkins('http://your_url_here', 'username', 'password')
j.get_jobs()
第二步:
如您所见,每个作业都有一个配置文件,其路径如$JENKINS_HOME/jobs/job_name/config.xml
。这也可以从您的浏览器访问。从浏览器看起来像这样:
所以你的问题可以简化为:
" 如何从$JENKINS_HOME/jobs
目录"下的每个作业文件夹更新config.xml的收件人值。
或者:
" 如何从http://your_jenkins_url/job/each_job_name/config.xml
"等每个职位网址更新config.xml的收件人值。
所以这可以通过任何脚本语言来完成,例如python
,ruby
,shell
,vb
或任何类似http的lib,例如' urllib2&#39 ;,'请求'等...
第3步:
更新完所有config.xml文件后,不要忘记重新启动jenkins才能生效。
<强>编辑(2015年5月27日)强>
有一个由@edalquist编写的现有Groovy脚本,它可以以编程方式更新电子邮件地址。 https://github.com/jenkinsci/jenkins-scripts/blob/master/scriptler/updateEmailAddress.groovy