og-jenkins-shared-library/vars/notifyBuildStatus.groovy

20 lines
877 B
Groovy

def call() {
// Determina el estado del build
def buildStatus = currentBuild.currentResult ?: 'SUCCESS'
// Define el asunto y el cuerpo del correo según el estado
def subject = "[Jenkins] ${buildStatus}: ${env.JOB_NAME} #${env.BUILD_NUMBER}"
def body = """El build ${env.BUILD_NUMBER} del trabajo '${env.JOB_NAME}' ha finalizado con estado: ${buildStatus}.
Puedes ver los detalles aquí: ${env.BUILD_URL}"""
// Intenta obtener el usuario que ha lanzado el job
def userId = currentBuild.getBuildCauses()?.find { it._class == 'hudson.model.Cause$UserIdCause' }?.userId
def userEmail = userId ? "${userId}@qindel.com" : "opengnsysy@qindel.com"
// Dirección de correo a copiar siempre
def ccEmail = "opengnsysy@qindel.com"
// Envía el correo
mail to: "${userEmail}", cc: "${ccEmail}", subject: subject, body: body
}