From 1ad96d48b33fb9cc3b4423c3d66ba83368914ddf Mon Sep 17 00:00:00 2001 From: Jack-Leung <38930117+Jack-Leung@users.noreply.github.com> Date: Mon, 16 Mar 2020 00:21:45 -0400 Subject: [PATCH] testing 4 --- Jenkinsfile | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 4be871f59..d2ff181bc 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,6 +1,7 @@ pipeline { agent any stages { + notifySlack('STARTED') stage('Build') { steps { echo 'build' @@ -9,8 +10,37 @@ pipeline { } post{ - always { - slackSend (message: "${buildStatus} ${env.JOB_NAME} [${env.BUILD_NUMBER}] (${env.BUILD_URL})") + failure{ + currentBuild.result = "FAILED" + } + always{ + notifySlack(currentBuild.result) } } } + +def notifySlack(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) +}