Solución:
Vea más aquí: Cómo obtener la dirección de correo electrónico del usuario actual de Jenkins para usar en un script maravilloso
echo 'author email:' + change.author.getProperty(hudson.tasks.Mailer.UserProperty.class).getAddress()
Pero requería deshabilitar la caja de arena maravillosa 🙁
Posiblemente la solución haya sido agregar esto a Bibliotecas compartidas Jenkins Pipeline: https://jenkins.io/doc/book/pipeline/shared-libraries/
Como esto:
$ cat GetUserEmail.groovy
#!/usr/bin/groovy
def call(body) {
def config = [:]
body.resolveStrategy = Closure.DELEGATE_FIRST
body.delegate = config
body()
def User = config.get('user')
return User.getProperty(hudson.tasks.Mailer.UserProperty.class).getAddress()
}
Y usa así:
def changeSet = script.currentBuild.changeSets[0];
Set authors = [];
if (changeSet != null) {
for (change in changeSet.items) {
authors.add(GetUserEmail{user=change.author})
}
}
Puede obtener el nombre del autor y luego usarlo como ejemplo en un registro de correo o algo así:
def author = ""
def changeSet = currentBuild.rawBuild.changeSets
for (int i = 0; i < changeSet.size(); i++)
{
def entries = changeSet[i].items;
for (int i = 0; i < changeSet.size(); i++)
{
def entries = changeSet[i].items;
def entry = entries[0]
author += "${entry.author}"
}
}
print author;
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)