我如何以编程方式设置jenkins工作的电子邮件收件人

时间:2015-05-18 06:26:44

标签: email jenkins bulk

我正在尝试使用新的电子邮件列表更新jenkins作业的电子邮件收件人,我无法找到正确的API来执行此操作。虽然这可以直接在配置文件中更新,但是如果有的话可以使用Jenkins API

编辑:我指的是以下字段 构建后操作:电子邮件通知>收件人

1 个答案:

答案 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。这也可以从您的浏览器访问。从浏览器看起来像这样:

recipients shows in jenkins job's config.xml

所以你的问题可以简化为:
" 如何从$JENKINS_HOME/jobs目录"下的每个作业文件夹更新config.xml的收件人值。

或者:
" 如何从http://your_jenkins_url/job/each_job_name/config.xml "等每个职位网址更新config.xml的收件人值。

所以这可以通过任何脚本语言来完成,例如pythonrubyshellvb或任何类似http的lib,例如' urllib2&#39 ;,'请求'等...

第3步:
更新完所有config.xml文件后,不要忘记重新启动jenkins才能生效。

祝你好运,伙计!

<强>编辑(2015年5月27日)
有一个由@edalquist编写的现有Groovy脚本,它可以以编程方式更新电子邮件地址。 https://github.com/jenkinsci/jenkins-scripts/blob/master/scriptler/updateEmailAddress.groovy