diff --git a/tests/API-dhcp/Jenkinsfile b/tests/API-dhcp/Jenkinsfile index d7b33fe..c779e82 100644 --- a/tests/API-dhcp/Jenkinsfile +++ b/tests/API-dhcp/Jenkinsfile @@ -55,17 +55,50 @@ pipeline { post { always { script { - def commiterEmail = sh(script: 'git log -1 --pretty=format:%ae', returnStdout: true).trim() - mail to: commiterEmail, - subject: "Jenkins Job Completed: ${env.JOB_NAME} #${env.BUILD_NUMBER}", - body: """ - El job '${env.JOB_NAME}' con número de build ${env.BUILD_NUMBER} ha finalizado. + def userCause = currentBuild.rawBuild.getCause(hudson.model.Cause$UserIdCause) + + if (userCause != null) { + // Si fue lanzado manualmente, obtener el usuario y su correo desde las propiedades de Jenkins + 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} - - Revisa los detalles del build en: ${env.BUILD_URL} - """ - attachLog: true + // Enviar correo al usuario que lanzó el build manualmente + mail to: "${userEmail}", + subject: "Jenkins Job Completed (Manual): ${env.JOB_NAME} #${env.BUILD_NUMBER}", + body: """ + 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} + """ + } } } }