Skip to content
Snippets Groups Projects

ozg-7493 add send failure message

Merged Bastian Heppener requested to merge ozg-7493-add-matrix-notification into main
1 file
+ 12
30
Compare changes
  • Side-by-side
  • Inline
+ 12
30
@@ -21,6 +21,8 @@
@@ -21,6 +21,8 @@
* Die sprachspezifischen Genehmigungen und Beschränkungen
* Die sprachspezifischen Genehmigungen und Beschränkungen
* unter der Lizenz sind dem Lizenztext zu entnehmen.
* unter der Lizenz sind dem Lizenztext zu entnehmen.
*/
*/
 
@Library('ozgcloud-libs') _
 
pipeline {
pipeline {
agent {
agent {
node {
node {
@@ -29,6 +31,7 @@ pipeline {
@@ -29,6 +31,7 @@ pipeline {
}
}
environment {
environment {
 
PIPELINE_NAME = "Code-SH: antragraum-proxy"
RELEASE_REGEX = /v\d+.\d+.\d+/
RELEASE_REGEX = /v\d+.\d+.\d+/
BETA_REGEX = /v\d+.\d+.\d+-beta.\d/
BETA_REGEX = /v\d+.\d+.\d+-beta.\d/
FAILED_STAGE = ""
FAILED_STAGE = ""
@@ -190,6 +193,7 @@ pipeline {
@@ -190,6 +193,7 @@ pipeline {
}
}
steps {
steps {
script {
script {
 
FAILED_STAGE = env.STAGE_NAME
catchError(buildResult: 'UNSTABLE', stageResult: 'FAILURE') {
catchError(buildResult: 'UNSTABLE', stageResult: 'FAILURE') {
sh '''
sh '''
go install github.com/CycloneDX/cyclonedx-gomod/cmd/cyclonedx-gomod@latest
go install github.com/CycloneDX/cyclonedx-gomod/cmd/cyclonedx-gomod@latest
@@ -204,7 +208,14 @@ pipeline {
@@ -204,7 +208,14 @@ pipeline {
}
}
}
}
}
}
}
}
 
post {
 
failure {
 
script {
 
sendMatrixMessage.sendFailureMessage(FAILED_STAGE)
 
}
 
}
 
}
}
}
@@ -256,35 +267,6 @@ String getBuildProfile() {
@@ -256,35 +267,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":"antragraum-proxy: Build Failed. Stage: ${FAILED_STAGE} Build-ID: ${env.BUILD_NUMBER}", \
"format": "org.matrix.custom.html", \
"formatted_body":"antragraum-proxy: 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() {
Void configureGit() {
def email = "jenkins@ozg-sh.de"
def email = "jenkins@ozg-sh.de"
def name = "jenkins"
def name = "jenkins"
Loading