diff --git a/alfa-client/Jenkinsfile.e2e b/alfa-client/Jenkinsfile.e2e index d065955cf2431d3fe98ad99eadd46ec743a88ca7..a662c618cc0a6e26e7188e55024c4aeb1edca764 100644 --- a/alfa-client/Jenkinsfile.e2e +++ b/alfa-client/Jenkinsfile.e2e @@ -38,7 +38,7 @@ pipeline { } environment { - BLUE_OCEAN_URL = "https://jenkins.infra.ozg-cloud.systems/job/E2E%20Tests/job/${env.BRANCH_NAME}/${env.BUILD_NUMBER}/" + JENKINS_URL = "https://jenkins.infra.ozg-cloud.systems/job/codeSH_E2E/job/${env.BRANCH_NAME}/${env.BUILD_NUMBER}/" BUNDESLAND = "by" SSO_URL = "sso.dev.by.ozg-cloud.de" CLUSTER_BASE_URL = "dev.by.ozg-cloud.de" @@ -817,9 +817,9 @@ Map getUserManagerDatabaseSecret(String namespace) { Void sendFailureMessage() { def data = [ "msgtype": "m.text", - "body": "E2E-Tests: Failed stage: ${getFailedStage()} Build-ID: ${env.BUILD_NUMBER} Link: ${BLUE_OCEAN_URL}" as String, + "body": "E2E-Tests: Failed stage: ${getFailedStage()} Build-ID: ${env.BUILD_NUMBER} Link: ${JENKINS_URL}" as String, "format": "org.matrix.custom.html", - "formatted_body": "E2E-Tests: Failed stage: ${getFailedStage()} Build-ID: <a href='${BLUE_OCEAN_URL}'>${env.BUILD_NUMBER}</a>" as String + "formatted_body": "E2E-Tests: Failed stage: ${getFailedStage()} Build-ID: <a href='${JENKINS_URL}'>${env.BUILD_NUMBER}</a>" as String ] sh "curl -XPOST -H 'authorization: Bearer ${getElementAccessToken()}' -d '${JsonOutput.toJson(data)}' https://matrix.ozg-sh.de/_matrix/client/v3/rooms/${getElementRoomId()}/send/m.room.message" diff --git a/alfa-client/Jenkinsfile.e2e.static b/alfa-client/Jenkinsfile.e2e.static deleted file mode 100644 index 08ecd05026084ec7429ef6af16cfd837d607c70d..0000000000000000000000000000000000000000 --- a/alfa-client/Jenkinsfile.e2e.static +++ /dev/null @@ -1,587 +0,0 @@ -/* - * Copyright (C) 2023 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. - */ -import groovy.json.JsonOutput - -def SKIP_RUN = false; -def UPDATE_NAMESPACE = false; - -def EXECUTE_EA = false; -def EXECUTE_MAIN = false; - -pipeline { - agent { - node { - label 'ozgcloud-jenkins-build-agent' - } - } - - environment { - BLUE_OCEAN_URL = "https://jenkins.ozg-sh.de/job/E2E%20Tests/job/${env.BRANCH_NAME}/${env.BUILD_NUMBER}/" - BUNDESLAND = 'by' - ENVIRONMENT = 'dev' - SSO_URL = 'sso.dev.by.ozg-cloud.de' - CLUSTER_BASE_URL = 'dev.by.ozg-cloud.de' - FAILED_STAGE = '' - FAILED_PARALLEL_STAGE = ' ' - EA_BEZEICHNER = 'e2e-ea' - MAIN_BEZEICHNER = 'e2e-main' - SH_SUCCESS_STATUS_CODE = 0 - FORCE_COLOR = 0 - NO_COLOR = 1 - NX_DISABLE_DB = true - } - - options { - timeout(time: 2, unit: 'HOURS') - disableConcurrentBuilds() - buildDiscarder(logRotator(numToKeepStr: '15')) - skipDefaultCheckout(true) - } - - stages { - stage('Checkout build trigger') { - when { - not { - anyOf { - triggeredBy cause: 'UserIdCause' - } - } - } - steps { - script { - SKIP_RUN = true - currentBuild.result= "UNSTABLE" - } - } - } - stage('Checkout SCM') { - when { - expression { !SKIP_RUN } - } - steps { - script { - FAILED_STAGE = env.STAGE_NAME - - checkout scm - } - } - } - stage('Clone Gitops Repo') { - when { - expression { !SKIP_RUN } - } - steps { - script { - FAILED_STAGE = env.STAGE_NAME - - cloneGitopsRepo() - } - } - } - - stage('Update Alfa?') { - when { - expression { !SKIP_RUN } - beforeInput true - triggeredBy cause: "UserIdCause" - } - steps { - script { - FAILED_STAGE = env.STAGE_NAME - - catchError { - timeout(time: 5, unit: 'MINUTES') { - userInput = input message: 'Update Namespace?', parameters: [ - booleanParam(name: 'UpdateNamespaceToCurrentMaster', defaultValue: false) - ] - UPDATE_NAMESPACE = userInput; - echo 'Update Namespace:' + UPDATE_NAMESPACE; - } - } - } - } - } - - stage('Do Update Namespaces(Alfa)') { - when { - expression { !SKIP_RUN && UPDATE_NAMESPACE } - beforeInput true - triggeredBy cause: "UserIdCause" - } - steps { - script { - FAILED_STAGE = env.STAGE_NAME - - updateAlfaToCurrentMaster(); - pushGitopsRepo(); - } - } - } - - stage('Test Execution') { - when { - expression { !SKIP_RUN && !UPDATE_NAMESPACE } - beforeInput true - triggeredBy cause: "UserIdCause" - } - steps { - script { - FAILED_STAGE = env.STAGE_NAME - - catchError { - timeout(time: 5, unit: 'MINUTES') { - userInput = input message: "Execute...", - parameters: [ - booleanParam(name: 'ExecuteEa', defaultValue: false, description: 'EA'), - booleanParam(name: 'ExecuteMain', defaultValue: false, description: 'MAIN') - ] - EXECUTE_EA = userInput.ExecuteEa; - EXECUTE_MAIN = userInput.ExecuteMain; - echo 'execute ea:' + EXECUTE_EA; - echo 'execute main:' + EXECUTE_MAIN - } - } - } - } - } - - stage('Install Cypress') { - when { - expression { !SKIP_RUN && !UPDATE_NAMESPACE && (EXECUTE_EA || EXECUTE_MAIN) } - } - steps { - script { - FAILED_STAGE = env.STAGE_NAME - - withNPM(npmrcConfig: 'npm-nexus-auth') { - sh 'pnpm --version' - dir('alfa-client') { - sh 'pnpm install --frozen-lockfile --network-concurrency=8' - sh "pnpm run cypress:install" - } - } - } - } - } - - stage('Init k8s') { - when { - expression { !SKIP_RUN && !UPDATE_NAMESPACE } - } - steps { - script { - FAILED_STAGE = env.STAGE_NAME - - configFileProvider([configFile(fileId: 'kubeconfig-dev-okd-cluster', variable: 'KUBE_CONFIG')]) { - sh 'mkdir ~/.kube' - sh 'cp ${KUBE_CONFIG} ~/.kube/config' - } - - sh 'helm version' - } - } - } - - stage('E2E-EA') { - when { - expression { EXECUTE_EA && (!SKIP_RUN && !UPDATE_NAMESPACE) } - } - steps { - catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') { - script { - def bezeichner = env.EA_BEZEICHNER - def dbPort = 27018 - - forwardServices(generateNamespace(bezeichner), dbPort) - - runTests(bezeichner, 'einheitlicher-ansprechpartner', 'user-ea', dbPort, env.STAGE_NAME) - } - } - } - post { - failure { - script { - FAILED_PARALLEL_STAGE += "${env.STAGE_NAME} " - } - } - always { - script { - publishE2ETestResult("einheitlicher-ansprechpartner", "Alfa EA E2E-Tests") - } - } - } - } - - stage('E2E-Main') { - when { - expression { EXECUTE_MAIN && (!SKIP_RUN && !UPDATE_NAMESPACE) } - } - steps { - catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') { - script { - def bezeichner = env.MAIN_BEZEICHNER - def dbPort = 27019 - - forwardServices(generateNamespace(bezeichner), dbPort) - - runTests(bezeichner, 'main-tests', 'user-main', dbPort, env.STAGE_NAME) - } - } - } - post { - failure { - script { - FAILED_PARALLEL_STAGE += "${env.STAGE_NAME} " - } - } - always { - script { - publishE2ETestResult("main-tests", "Alfa Main E2E-Tests") - } - } - } - } - } -} - -def cloneGitopsRepo() { - final email = "jenkins@ozg-sh.de" - final name = "jenkins" - - withCredentials([usernamePassword(credentialsId: 'jenkins-gitea-access-token', passwordVariable: 'TOKEN', usernameVariable: 'USER')]) { - sh 'git clone https://${USER}:${TOKEN}@git.ozg-sh.de/ozgcloud-devops/gitops.git' - - dir("gitops") { - sh "git config user.email '${email}'" - sh "git config user.name '${name}'" - } - } -} - -Void updateAlfaToCurrentMaster() { - def values = getApplicationValues('alfa'); - def imageTag = getImageTag(values); - def helmVersion = getHelmVersion(values); - - def eaNamespace = generateNamespace(EA_BEZEICHNER); - updateNamespaceYaml(eaNamespace, imageTag, helmVersion); - - def mainNamespace = generateNamespace(MAIN_BEZEICHNER); - updateNamespaceYaml(mainNamespace, imageTag, helmVersion); - - dir("gitops") { - sh "git add dev/namespace/namespaces/${eaNamespace}.yaml"; - sh "git add dev/namespace/namespaces/${mainNamespace}.yaml"; - sh "git commit -m 'update static e2e namespaces(alfa to master version)'"; - } -} - -Map getApplicationValues(String application) { - def applicationValues = readYaml file: "gitops/${env.ENVIRONMENT}/application/values/${application}-values.yaml" - - return applicationValues.get(application.replaceAll("-", "_")) -} - -String getImageTag(Map applicationValues) { - return applicationValues.image.tag -} - -String getHelmVersion(Map applicationValues) { - return applicationValues.helm.version -} - -Void updateNamespaceYaml(String namespace, imageTag, helmVersion){ - def namespaceYaml = readYaml file: "gitops/dev/namespace/namespaces/${namespace}.yaml"; - - namespaceYaml.alfa.image.put('tag', imageTag); - namespaceYaml.alfa.helm.put('version', helmVersion); - - writeYaml file: "gitops/dev/namespace/namespaces/${namespace}.yaml", data: namespaceYaml, overwrite: true - - sh "cat gitops/dev/namespace/namespaces/${namespace}.yaml" -} - -Void pushGitopsRepo() { - withCredentials([usernamePassword(credentialsId: 'jenkins-gitea-access-token', passwordVariable: 'TOKEN', usernameVariable: 'USER')]) { - dir("gitops") { - if (hasUnpushedCommits()) { - sh 'git pull' - sh 'git push https://${USER}:${TOKEN}@git.ozg-sh.de/ozgcloud-devops/gitops.git' - } - } - } -} - -Boolean hasUnpushedCommits() { - return sh (script: "git cherry -v | grep .", returnStatus: true) == env.SH_SUCCESS_STATUS_CODE as Integer; -} - -Void publishE2ETestResult(String reportFolder, String reportName) { - publishHTML ( - target: [ - allowMissing: false, - alwaysLinkToLastBuild: false, - keepAll: true, - reportDir: "alfa-client/apps/alfa-e2e/reports/${reportFolder}", - reportFiles: 'report.html', - reportName: reportName - ] - ) -} - -String runTests(String bezeichner, String reportFolder, String userFolder, Integer dbPort, String stageName) { - def config = generateCypressConfig(bezeichner, reportFolder, userFolder, dbPort) - - try { - dir("alfa-client") { - sh "pnpm run cypress:version" - sh "apps/alfa-e2e/run-tests.sh ${reportFolder} ${config}" - } - } catch (Exception e) { - printNpmDebugLog() - - error("Fehler in Stage ${stageName}, Exception: ${e}") - } -} - -Void printNpmDebugLog() { - if (hasNpmDebugLog()) { - sh "cat pnpm-debug.log" - } - else { - echo 'pnpm debug log not found' - } -} - -String makeUrlConform(String input) { - return input.replaceAll(/[^a-zA-Z0-9]+/, "").toLowerCase() -} - -String generateBezeichner(String stage) { - def branchName = makeUrlConform(env.BRANCH_NAME) - def stageName = makeUrlConform(stage) - - return "${cutBranchNameForKeycloakRealm(branchName, stageName)}-${stageName}" -} - -String cutBranchNameForKeycloakRealm(String branchName, String stageName) { - final maxKeycloakRealmLength = 30 - - def cutBranchNamePosition = maxKeycloakRealmLength - (stageName.length() + "${env.BUNDESLAND}---dev".length()) - - return branchName.take(cutBranchNamePosition) -} - -String generateCypressConfig(String bezeichner, String testFolder, String userFolder, Integer dbPort) { - def namespace = generateNamespace(bezeichner) - def configName = "cypress-ci-" + testFolder + ".json" - - dir('alfa-client/apps/alfa-e2e/') { - def config = readJSON file: 'cypress-ci.json' - - def vorgangManagerDatabaseSecret = getVorgangManagerDatabaseSecret(namespace); - def decodedPassword = decodeString(vorgangManagerDatabaseSecret.password); - def parsablePassword = makePasswordUrlConform(decodedPassword); - - config.baseUrl = "https://${bezeichner}.${env.CLUSTER_BASE_URL}" as String - config.env.dbUrl = "mongodb://${decodeString(vorgangManagerDatabaseSecret.username)}:${parsablePassword}@localhost:${dbPort}/admin?ssl=false&directConnection=true" as String - config.env.keycloakUrl = "https://${env.SSO_URL}/" as String - config.env.keycloakRealm = namespace as String - config.env += createUserIdsEnv(userFolder, namespace) - config.videosFolder = "./reports/${testFolder}/videos" as String - config.screenshotsFolder = "./reports/${testFolder}/screenshots" as String - config.reporterOptions.reportDir = "./reports/${testFolder}/mochawesome-report" as String - - config.specPattern = "src/e2e/${testFolder}/**/*.cy.{js,jsx,ts,tsx}" as String - - config.env.put("search", getElasticsearchEnv(namespace)) - config.env.put("userManager", getUserManagerEnv(namespace, dbPort)) - - writeJSON file: configName, json: config - - sh "cat ${configName}" - } - - return "cypress-ci-" + testFolder + ".config.ts" -} - -Map getVorgangManagerDatabaseSecret(String namespace) { - return readJSON(text: sh(script: "kubectl get secret ozg-mongodb-admin-vorgang-manager-user -n ${namespace} -o jsonpath={.data}", returnStdout: true)) -} - -Map getUserManagerEnv(String namespace, dbPort){ - def userManagerDatabaseSecret = getUserManagerDatabaseSecret(namespace); - def decodedPassword = decodeString(userManagerDatabaseSecret.password); - def parsablePassword = makePasswordUrlConform(decodedPassword); - - return [ - "dbUrl": "mongodb://${decodeString(userManagerDatabaseSecret.username)}:${parsablePassword}@localhost:${dbPort}/admin?ssl=false&directConnection=true" as String, - "database": "user-manager-database" - ] -} - -Map getUserManagerDatabaseSecret(String namespace) { - return readJSON(text: sh(script: "kubectl get secret ozg-mongodb-admin-user-manager-user -n ${namespace} -o jsonpath={.data}", returnStdout: true)) -} - -String makePasswordUrlConform(String password) { - return sh(script: "printf %s ${password} | jq -sRr @uri", returnStdout: true); -} - -Map createUserIdsEnv(String userFolder, realm) { - def keycloakUsers = getKeycloakUsers(realm) - def usersFixtures = readUsersFixtures(userFolder) - return usersFixtures.collectEntries { username, user -> - [(username + "Uuid") : keycloakUsers[username].id, - (username + "InternalId"): keycloakUsers[username].attributes.ozgCloudUserId[0]] - } -} - -Map getKeycloakUsers(realm) { - def shScript = """curl -H 'Content-Type: application/json' \ - -H 'Authorization: bearer ${getKeycloakAccessToken(realm)}' \ - 'https://${env.SSO_URL}/admin/realms/${realm}/users' - """ - def keycloakUsers = readJSON text: sh(script: shScript, returnStdout: true) - - echo "keycloak users: ${keycloakUsers}" - - return keycloakUsers.collectEntries { [it.username, it] } -} - -Map readUsersFixtures(String userFolder) { - def userFolderPath = "src/fixtures/${userFolder}" - def usersFixturesFiles = sh(script: "ls ${userFolderPath}", returnStdout: true); - return usersFixturesFiles.split("\\n") - .collect { userFixtureFile -> - def userFixture = readJSON file: "${userFolderPath}/${userFixtureFile}" - return createUserFromFixture(userFixture) - }.collectEntries { [it.name, it] } -} - -Map createUserFromFixture(Map userFixture) { - return ["name" : userFixture.name, - "password" : userFixture.password, - "first_name": userFixture.get("firstName", ""), - "last_name" : userFixture.get("lastName", ""), - "email" : userFixture.get("email", "")] -} - -String getKeycloakAccessToken(String realm) { - def userManagerApiUserCredentials = getUserManagerApiUserCredentials(realm) - - def token = readJSON text: sh(script: "set +x && curl -d \"client_id=admin-cli\" -d \"username=${userManagerApiUserCredentials.user}\" -d \"password=${userManagerApiUserCredentials.password}\" -d \"grant_type=password\" https://$SSO_URL/realms/$realm/protocol/openid-connect/token", returnStdout: true) - - return token.access_token -} - -Map getUserManagerApiUserCredentials(String namespace) { - def userManagerApiUserCredentials = readJSON(text: sh(script: "kubectl get secret usermanagerapiuser-credentials -n ${namespace} -o jsonpath={.data}", returnStdout: true)) - - return ["user" : decodeString(userManagerApiUserCredentials.name), - "password": decodeString(userManagerApiUserCredentials.password)] -} - -Void sendFailureMessage() { - def data = ["msgtype" : "m.text", - "body" : "E2E-Tests: Failed stage: ${getFailedStage()} Build-ID: ${env.BUILD_NUMBER} Link: ${BLUE_OCEAN_URL}" as String, - "format" : "org.matrix.custom.html", - "formatted_body": "E2E-Tests: Failed stage: ${getFailedStage()} Build-ID: <a href='${BLUE_OCEAN_URL}'>${env.BUILD_NUMBER}</a>" as String] - - sh "curl -XPOST -H 'authorization: Bearer ${getElementAccessToken()}' -d '${JsonOutput.toJson(data)}' https://matrix.ozg-sh.de/_matrix/client/v3/rooms/${getElementRoomId()}/send/m.room.message" -} - -String getFailedStage() { - if (FAILED_PARALLEL_STAGE.trim()) { - return FAILED_PARALLEL_STAGE.trim() - } - - return FAILED_STAGE -} - -String getElementRoomId() { - final releaseRoomId = "!oWZpUGTFsxkJIYNfYg:matrix.ozg-sh.de" - final masterRoomId = "!iQPAvQIiRwRpNOszjw:matrix.ozg-sh.de" - - if (isReleaseBranch()) { - return releaseRoomId - } - - return masterRoomId -} - -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 - } -} - -Map getElasticsearchEnv(String namespace) { - def elasticsearchSecret = getElasticsearchSecret(namespace) - - return ["user" : decodeString(elasticsearchSecret.username), - "password": decodeString(elasticsearchSecret.password), - "index" : decodeString(elasticsearchSecret.index), - "url" : "https://localhost:9200"] -} - -Void forwardServices(String namespace, Integer dbPort) { - try { - forwardDatenbank(namespace, dbPort) - forwardElasticSearch() - } catch (Exception e) { - echo "forwardServices Exception: ${e}" - error("Error forwarding service") - } -} - -Void forwardElasticSearch() { - if(!isElasticSearchForwarded()) { - sh "kubectl port-forward ozg-search-cluster-es-ozg-search-0 9200:9200 -n elastic-system &" - } -} - -Boolean isElasticSearchForwarded() { - return sh(script: "lsof -i -P -n | grep LISTEN | grep :9200", returnStatus: true) == env.SH_SUCCESS_STATUS_CODE as Integer -} - -Void forwardDatenbank(String namespace, port) { - sh "kubectl port-forward ozg-mongodb-0 ${port}:27017 -n ${namespace} &" -} - -String generateNamespace(String bezeichner) { - return "${env.BUNDESLAND}-${bezeichner}-static" -} - -String decodeString(String encoded) { - return sh(script: "echo -n ${encoded} | base64 --decode", returnStdout: true) -} - -Map getElasticsearchSecret(String namespace) { - return readJSON(text: sh(script: "kubectl get secret elasticsearch-credentials -n ${namespace} -o jsonpath={.data}", returnStdout: true)) -} - -Boolean hasNpmDebugLog() { - return sh(script: "ls -l pnpm-debug.log", returnStatus: true) == env.SH_SUCCESS_STATUS_CODE as Integer -} \ No newline at end of file diff --git a/alfa-client/Jenkinsfile.storybook b/alfa-client/Jenkinsfile.storybook index af349c07658e481cc709cab0aa39f3d5a27a7d0d..12a0f6f4c2734e41b732265478b5f6e510fa48a5 100644 --- a/alfa-client/Jenkinsfile.storybook +++ b/alfa-client/Jenkinsfile.storybook @@ -29,7 +29,7 @@ pipeline { } environment { - BLUE_OCEAN_URL = "https://jenkins.infra.ozg-cloud.systems/job/storybook/job/${env.BRANCH_NAME}/${env.BUILD_NUMBER}/" + JENKINS_URL = "https://jenkins.infra.ozg-cloud.systems/job/codeSH_storybook/job/${env.BRANCH_NAME}/${env.BUILD_NUMBER}/" RELEASE_REGEX = /\d+.\d+.\d+/ SNAPSHOT_REGEX = /\d+.\d+.\d+-SNAPSHOT/ FAILED_STAGE = "" @@ -247,9 +247,9 @@ Boolean isMainBranch() { Void sendFailureMessage() { def room = '' def data = """{"msgtype":"m.text", \ - "body":"storybook: Build Failed. Stage: ${FAILED_STAGE} Build-ID: ${env.BUILD_NUMBER} Link: ${BLUE_OCEAN_URL}", \ + "body":"storybook: Build Failed. Stage: ${FAILED_STAGE} Build-ID: ${env.BUILD_NUMBER} Link: ${JENKINS_URL}", \ "format": "org.matrix.custom.html", \ - "formatted_body":"storybook: Build Failed. Stage: ${FAILED_STAGE} Build-ID: <a href='${BLUE_OCEAN_URL}'>${env.BUILD_NUMBER}</a>"}""" + "formatted_body":"storybook: Build Failed. Stage: ${FAILED_STAGE} Build-ID: <a href='${JENKINS_URL}'>${env.BUILD_NUMBER}</a>"}""" if (isMainBranch()) { room = "!iQPAvQIiRwRpNOszjw:matrix.ozg-sh.de" diff --git a/alfa-client/apps/admin/Jenkinsfile b/alfa-client/apps/admin/Jenkinsfile index a181642a72d403e10c7a3d9146c54a487cc023f1..466c2b7d229a7fe30477cd5a464f2120c4307d7c 100644 --- a/alfa-client/apps/admin/Jenkinsfile +++ b/alfa-client/apps/admin/Jenkinsfile @@ -29,7 +29,7 @@ pipeline { } environment { - BLUE_OCEAN_URL = "https://jenkins.infra.ozg-cloud.systems/job/admin-client/job/${env.BRANCH_NAME}/${env.BUILD_NUMBER}/" + JENKINS_URL = "https://jenkins.infra.ozg-cloud.systems/job/administration-client/job/${env.BRANCH_NAME}/${env.BUILD_NUMBER}/" RELEASE_REGEX = /\d+.\d+.\d+/ SNAPSHOT_REGEX = /\d+.\d+.\d+-SNAPSHOT/ FAILED_STAGE = "" @@ -296,9 +296,9 @@ Boolean isMainBranch() { Void sendFailureMessage() { def room = '' def data = """{"msgtype":"m.text", \ - "body":"Admin-Client: Build Failed. Stage: ${FAILED_STAGE} Build-ID: ${env.BUILD_NUMBER} Link: ${BLUE_OCEAN_URL}", \ + "body":"Admin-Client: Build Failed. Stage: ${FAILED_STAGE} Build-ID: ${env.BUILD_NUMBER} Link: ${JENKINS_URL}", \ "format": "org.matrix.custom.html", \ - "formatted_body":"Admin-Client: Build Failed. Stage: ${FAILED_STAGE} Build-ID: <a href='${BLUE_OCEAN_URL}'>${env.BUILD_NUMBER}</a>"}""" + "formatted_body":"Admin-Client: Build Failed. Stage: ${FAILED_STAGE} Build-ID: <a href='${JENKINS_URL}'>${env.BUILD_NUMBER}</a>"}""" if (isMainBranch()) { room = "!iQPAvQIiRwRpNOszjw:matrix.ozg-sh.de" diff --git a/alfa-client/apps/alfa/Jenkinsfile b/alfa-client/apps/alfa/Jenkinsfile index 6da9d2afddb290c6686c991032ce52c2031aae19..0dde2edb6c4f78bb6a77e54d7607b327db26a115 100644 --- a/alfa-client/apps/alfa/Jenkinsfile +++ b/alfa-client/apps/alfa/Jenkinsfile @@ -29,7 +29,7 @@ pipeline { } environment { - BLUE_OCEAN_URL = "https://jenkins.infra.ozg-cloud.systems/job/codeSH_alfa-client/job/${env.BRANCH_NAME}/${env.BUILD_NUMBER}/" + JENKINS_URL = "https://jenkins.infra.ozg-cloud.systems/job/codeSH_alfa-client/job/${env.BRANCH_NAME}/${env.BUILD_NUMBER}/" RELEASE_REGEX = /\d+.\d+.\d+/ SNAPSHOT_REGEX = /\d+.\d+.\d+-SNAPSHOT/ FAILED_STAGE = "" @@ -307,9 +307,9 @@ Void configureGit() { Void sendFailureMessage() { def room = '' def data = """{"msgtype":"m.text", \ - "body":"Alfa-Client: Build Failed. Stage: ${FAILED_STAGE} Build-ID: ${env.BUILD_NUMBER} Link: ${BLUE_OCEAN_URL}", \ + "body":"Alfa-Client: Build Failed. Stage: ${FAILED_STAGE} Build-ID: ${env.BUILD_NUMBER} Link: ${JENKINS_URL}", \ "format": "org.matrix.custom.html", \ - "formatted_body":"Alfa-Client: Build Failed. Stage: ${FAILED_STAGE} Build-ID: <a href='${BLUE_OCEAN_URL}'>${env.BUILD_NUMBER}</a>"}""" + "formatted_body":"Alfa-Client: Build Failed. Stage: ${FAILED_STAGE} Build-ID: <a href='${JENKINS_URL}'>${env.BUILD_NUMBER}</a>"}""" if (isMainBranch()) { room = "!iQPAvQIiRwRpNOszjw:matrix.ozg-sh.de" diff --git a/alfa-client/apps/info/Jenkinsfile b/alfa-client/apps/info/Jenkinsfile index 5634305a38f876a072dffce37f515da832b22bcd..dd670c32603c9b721c60ac02dcfa3c32388c0a0a 100644 --- a/alfa-client/apps/info/Jenkinsfile +++ b/alfa-client/apps/info/Jenkinsfile @@ -5,7 +5,7 @@ pipeline { } } environment { - BLUE_OCEAN_URL = "https://jenkins.infra.ozg-cloud.systems/job/codeSH_info-client/job/${env.BRANCH_NAME}/${env.BUILD_NUMBER}/" + JENKINS_URL = "https://jenkins.infra.ozg-cloud.systems/job/codeSH_info-client/job/${env.BRANCH_NAME}/${env.BUILD_NUMBER}/" RELEASE_REGEX = /\d+.\d+.\d+/ SNAPSHOT_REGEX = /\d+.\d+.\d+-SNAPSHOT/ FAILED_STAGE = "" @@ -285,9 +285,9 @@ Boolean isMainBranch() { Void sendFailureMessage() { def room = '' def data = """{"msgtype":"m.text", \ - "body":"Info-Client: Build Failed. Stage: ${FAILED_STAGE} Build-ID: ${env.BUILD_NUMBER} Link: ${BLUE_OCEAN_URL}", \ + "body":"Info-Client: Build Failed. Stage: ${FAILED_STAGE} Build-ID: ${env.BUILD_NUMBER} Link: ${JENKINS_URL}", \ "format": "org.matrix.custom.html", \ - "formatted_body":"Info-Client: Build Failed. Stage: ${FAILED_STAGE} Build-ID: <a href='${BLUE_OCEAN_URL}'>${env.BUILD_NUMBER}</a>"}""" + "formatted_body":"Info-Client: Build Failed. Stage: ${FAILED_STAGE} Build-ID: <a href='${JENKINS_URL}'>${env.BUILD_NUMBER}</a>"}""" if (isMainBranch()) { room = "!iQPAvQIiRwRpNOszjw:matrix.ozg-sh.de"