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"