Предполагается, что вы используете hudson.plugins.emailext.ExtendedEmailPublisher
и все задания уже имеют добавленный шаг, вероятно, это должно охватывать часть итерации.
// Gets all jobs and folders recursively
items = Jenkins.instance.getAllItems();
items.each { item ->
def status = ''
def base_email = ''
def ext_email = []
if (item.class.name == "hudson.model.FreeStyleProject") {
item.publishersList.findAll {it instanceof hudson.plugins.emailext.ExtendedEmailPublisher}.each { publisher ->
status = publisher.disabled
base_email=publisher.recipientList?.replaceAll("\\r|\\n", " ")
publisher.configuredTriggers?.each { entry ->
if (entry.email.recipientList) {
ext_email << "${entry.class.name.replace("hudson.plugins.emailext.plugins.trigger.", "")}: ${entry.email.recipientList?.replaceAll("\\r|\\n", " ")}"
}
}
}
if ( base_email ) {
println item.fullName + "( " + status + " )"
println " +- " + base_email
ext_email.each {
println " - " + it
}
} else {
println "# " + item.fullName
}
}
}
return
Если вы используете hudson.tasks.Mailer
, это только одно поле: publisher.recipients
Затем вы либо
publisher.recipientList="someone@somewhere.com"
item.save()
или эквивалентный по необходимости.
Примечание: плагин Extended Email имеет переключатель для отключения отправки электронных писем "Disable Extended Email Publisher (publisher.disabled
), поэтому сообщите об этом тоже.
Если вам нужно добавить плагин, то это будет что-то вроде: item.publishersList.add(new hudson.plugins.emailext.ExtendedEmailPublisher(<parameters>)
( см. Javado c)