Update Jenkinsfile with copilot help

nginx_conf
Nicolas Arenas 2024-10-01 13:27:31 +02:00
parent 7f5ababc8f
commit 7f76546392
1 changed files with 43 additions and 10 deletions

View File

@ -55,17 +55,50 @@ pipeline {
post { post {
always { always {
script { script {
def commiterEmail = sh(script: 'git log -1 --pretty=format:%ae', returnStdout: true).trim() def userCause = currentBuild.rawBuild.getCause(hudson.model.Cause$UserIdCause)
mail to: commiterEmail,
subject: "Jenkins Job Completed: ${env.JOB_NAME} #${env.BUILD_NUMBER}", if (userCause != null) {
body: """ // Si fue lanzado manualmente, obtener el usuario y su correo desde las propiedades de Jenkins
El job '${env.JOB_NAME}' con número de build ${env.BUILD_NUMBER} ha finalizado. def userId = userCause.getUserId()
def user = jenkins.model.Jenkins.instance.getUser(userId)
def userEmail = user.getProperty(jenkins.plugins.mailer.tasks.Mailer.UserProperty)?.getAddress()
if (userEmail) {
echo "El correo del usuario que lanzó el build manualmente es: ${userEmail}"
Estado: ${currentBuild.currentResult} // Enviar correo al usuario que lanzó el build manualmente
mail to: "${userEmail}",
Revisa los detalles del build en: ${env.BUILD_URL} subject: "Jenkins Job Completed (Manual): ${env.JOB_NAME} #${env.BUILD_NUMBER}",
""" body: """
attachLog: true El job '${env.JOB_NAME}' con número de build ${env.BUILD_NUMBER} ha finalizado (ejecutado manualmente).
Estado: ${currentBuild.currentResult}
Revisa los detalles del build en: ${env.BUILD_URL}
"""
} else {
echo "No se pudo encontrar un correo electrónico para el usuario: ${userId}"
}
} else {
// Si fue lanzado automáticamente, obtener el correo del committer
def committerEmail = sh(
script: 'git log -1 --pretty=format:"%ae"',
returnStdout: true
).trim()
echo "El build fue lanzado automáticamente. Correo del committer: ${committerEmail}"
// Enviar correo al committer
mail to: "${committerEmail}",
subject: "Jenkins Job Completed (Automático): ${env.JOB_NAME} #${env.BUILD_NUMBER}",
body: """
El job '${env.JOB_NAME}' con número de build ${env.BUILD_NUMBER} ha finalizado (ejecutado automáticamente).
Estado: ${currentBuild.currentResult}
Revisa los detalles del build en: ${env.BUILD_URL}
"""
}
} }
} }
} }