From 3793256ae842a9e484728aa69725f2ecd8ffb7d5 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Tue, 1 Oct 2024 13:58:58 +0200 Subject: [PATCH] Change script to get user email --- tests/API-dhcp/Jenkinsfile | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/tests/API-dhcp/Jenkinsfile b/tests/API-dhcp/Jenkinsfile index f08374d..8c41494 100644 --- a/tests/API-dhcp/Jenkinsfile +++ b/tests/API-dhcp/Jenkinsfile @@ -38,27 +38,29 @@ pipeline { } } } - stage ('Run API tests') { + stage('Run API tests') { steps { echo 'Running API tests' + // Aquí incluirías los comandos para ejecutar tus pruebas } } } post { success { - script { - echo "El trabajo ha finalizado con éxito. Destruyendo máquina Vagrant..." + // Si el trabajo ha sido exitoso, destruir la máquina de Vagrant + echo "El trabajo ha finalizado con éxito. Destruyendo máquina Vagrant..." + dir ('tests/API-dhcp') { sh 'vagrant destroy -f' } } always { 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 user = jenkins.model.Jenkins.instance.getUser(userId) - def userEmail = user.getProperty(jenkins.plugins.mailer.tasks.Mailer.UserProperty)?.getAddress() + def userEmail = getUserEmail(userId) if (userEmail) { echo "El correo del usuario que lanzó el build manualmente es: ${userEmail}" @@ -100,3 +102,9 @@ pipeline { } } } + +@NonCPS +def getUserEmail(userId) { + def user = jenkins.model.Jenkins.instance.getUser(userId) + return user.getProperty(jenkins.plugins.mailer.tasks.Mailer.UserProperty)?.getAddress() +}