From db85f23189c4068a2e2ef785bcf232a8672f2241 Mon Sep 17 00:00:00 2001 From: Jack-Leung <38930117+Jack-Leung@users.noreply.github.com> Date: Sun, 15 Mar 2020 21:44:11 -0400 Subject: [PATCH] adding slack send --- Jenkinsfile | 59 +++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 50 insertions(+), 9 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 1b1fbb074..ed19000d5 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,15 +1,56 @@ pipeline { agent any - stages { + try { + notifyBuild('STARTED') + stage('Build') { - steps { - sh './mvnw package' - } + sh './mvnw package' } - stage('Test') { - steps { - echo 'Testing..' - } + + stage('Testing') { + echo 'Testing' } - } + + stage('Package') { + echo 'Staging' + } + + stage('Deploy') { + echo 'Deploy' + } + + } catch (e) { + // If there was an exception thrown, the build failed + currentBuild.result = "FAILED" + throw e + } finally { + // Success or failure, always send notifications + notifyBuild(currentBuild.result) + } +} + +def notifyBuild(String buildStatus = 'STARTED') { + // build status of null means successful + buildStatus = buildStatus ?: 'SUCCESSFUL' + + // Default values + def colorName = 'RED' + def colorCode = '#FF0000' + def subject = "${buildStatus}: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'" + def summary = "${subject} (${env.BUILD_URL})" + + // Override default values based on build status + if (buildStatus == 'STARTED') { + color = 'YELLOW' + colorCode = '#FFFF00' + } else if (buildStatus == 'SUCCESSFUL') { + color = 'GREEN' + colorCode = '#00FF00' + } else { + color = 'RED' + colorCode = '#FF0000' + } + + // Send notifications + slackSend (color: colorCode, message: summary) }