From 36960fe7e3c72b388aaccbcdca52d91f22b7a09f Mon Sep 17 00:00:00 2001 From: Bastian <bastian.heppener@mgm-tp.com> Date: Fri, 7 Mar 2025 15:13:12 +0100 Subject: [PATCH] ozg-7493 add send failure message --- Jenkinsfile | 59 +++++++++++++++++++++++++---------------------------- 1 file changed, 28 insertions(+), 31 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index b11447de..f3abe7d0 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,3 +1,28 @@ +/* + * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den + * Ministerpräsidenten des Landes Schleswig-Holstein + * Staatskanzlei + * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung + * + * Lizenziert unter der EUPL, Version 1.2 oder - sobald + * diese von der Europäischen Kommission genehmigt wurden - + * Folgeversionen der EUPL ("Lizenz"); + * Sie dürfen dieses Werk ausschließlich gemäß + * dieser Lizenz nutzen. + * Eine Kopie der Lizenz finden Sie hier: + * + * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 + * + * Sofern nicht durch anwendbare Rechtsvorschriften + * gefordert oder in schriftlicher Form vereinbart, wird + * die unter der Lizenz verbreitete Software "so wie sie + * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - + * ausdrücklich oder stillschweigend - verbreitet. + * Die sprachspezifischen Genehmigungen und Beschränkungen + * unter der Lizenz sind dem Lizenztext zu entnehmen. + */ +@Library('ozgcloud-libs') _ + pipeline { agent { node { @@ -6,6 +31,7 @@ pipeline { } environment { + PIPELINE_NAME = "Code-SH: administration" RELEASE_REGEX = /\d+.\d+.\d+/ SNAPSHOT_REGEX = /\d+.\d+.\d+-SNAPSHOT/ FAILED_STAGE = "" @@ -177,6 +203,7 @@ pipeline { stage ('Deploy SBOM to DependencyTrack') { steps { script { + FAILED_STAGE = env.STAGE_NAME IMAGE_TAG_WO_COMMIT = buildVersionNameWithoutCommidId() configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) { @@ -198,9 +225,7 @@ pipeline { } failure { script { - if (isMainBranch() || isReleaseBranch()) { - sendFailureMessage() - } + sendMatrixMessage.sendFailureMessage(FAILED_STAGE) } } } @@ -266,34 +291,6 @@ String getBuildProfile() { } -Void sendFailureMessage() { - def room = getRoom() - def data = getFailureData() - - sh "curl -XPOST -H 'authorization: Bearer ${getElementAccessToken()}' -d '${data}' https://matrix.ozg-sh.de/_matrix/client/v3/rooms/$room/send/m.room.message" -} - -String getElementAccessToken() { - withCredentials([string(credentialsId: 'element-login-json', variable: 'LOGIN_JSON')]) { - return readJSON ( text: sh (script: '''curl -XPOST -d \"$LOGIN_JSON\" https://matrix.ozg-sh.de/_matrix/client/v3/login''', returnStdout: true)).access_token - } -} - -String getFailureData() { - return """{"msgtype":"m.text", \ - "body":"Administration: Build Failed. Stage: ${FAILED_STAGE} Build-ID: ${env.BUILD_NUMBER}", \ - "format": "org.matrix.custom.html", \ - "formatted_body":"Administration: Build Failed. Stage: ${FAILED_STAGE} Build-ID: ${env.BUILD_NUMBER}"}""" -} - -String getRoom() { - if (isReleaseBranch()) { - return "!oWZpUGTFsxkJIYNfYg:matrix.ozg-sh.de" - } else { - return "!iQPAvQIiRwRpNOszjw:matrix.ozg-sh.de" - } -} - Void configureGit() { def email = "jenkins@ozg-sh.de" def name = "jenkins" -- GitLab