diff --git a/tests/API-dhcp/Jenkinsfile b/tests/API-dhcp/Jenkinsfile index 20b7070..44a105a 100644 --- a/tests/API-dhcp/Jenkinsfile +++ b/tests/API-dhcp/Jenkinsfile @@ -61,61 +61,29 @@ pipeline { } } always { + // Siempre se ejecutará, independientemente del resultado script { - 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 userEmail = getUserEmail(userId) - - if (userEmail) { - echo "El correo del usuario que lanzó el build manualmente es: ${userEmail}" + // Elimina la entrada del /etc/hosts + sh "echo '$QINDEL_PASS' | sudo -S sed -i '/api-test/d' /etc/hosts" + def recipientEmail = env.BUILD_USER_EMAIL ?: getCommitterEmail() + + mail to: recipientEmail, + 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. - // 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} - """ - } + Estado: ${currentBuild.currentResult} + + Revisa los detalles del build en: ${env.BUILD_URL} + """ } } } } -@NonCPS -def getUserEmail(userId) { - def jenkinsInstance = currentBuild.rawBuild.getParent().getParent() - if (jenkinsInstance != null) { - def user = jenkinsInstance.getUser(userId) - return user.getProperty(jenkins.plugins.mailer.tasks.Mailer.UserProperty)?.getAddress() - } - return null +def getCommitterEmail() { + return sh( + script: 'git log -1 --pretty=format:"%ae"', + returnStdout: true + ).trim() }