diff --git a/Jenkinsfile b/Jenkinsfile
index 0cedc675b064aad84ea078968f93fd9a75be7b1e..9a076e2288ef97a755bdae010e86fcc862c2cdea 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -111,7 +111,7 @@ pipeline {
             steps {
                 script {
                     FAILED_STAGE=env.STAGE_NAME
-                    IMAGE_TAG = generateImageTag()
+                    IMAGE_TAG = buildVersionName()
 
                     tagAndPushDockerImage(ELSTER_TRANSFER_OPERATOR_NAME, IMAGE_TAG)
                 
@@ -130,7 +130,7 @@ pipeline {
             steps {
                 script {
                     FAILED_STAGE=env.STAGE_NAME
-                    HELM_CHART_VERSION = generateHelmChartVersion()
+                    HELM_CHART_VERSION = buildVersionName()
 
                     sh "./run_helm_test.sh"
 
@@ -173,7 +173,7 @@ pipeline {
         stage ('Deploy SBOM to DependencyTrack') {
             steps {
                 script {
-                    IMAGE_TAG = generateImageTag()
+                    IMAGE_TAG = buildVersionName()
 
                     configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) {
                         withCredentials([string(credentialsId: 'dependency-track-api-key', variable: 'API_KEY')]) {
@@ -220,14 +220,21 @@ String getHelmRepoUrl(){
     return "https://nexus.ozg-sh.de/service/rest/v1/components?repository=ozg-base-apps-snapshot"
 }
 
-String generateHelmChartVersion() {
-    def chartVersion = "${getPomVersion('pom.xml')}"+"-${env.GIT_COMMIT.take(7)}"
-    
-    if (!isReleaseBranch()) {
-        chartVersion += "-${env.BRANCH_NAME}"
+String validateBranchName(branchName) {
+    int maxLength = 30
+    if (branchName.length() > maxLength) {
+        String originalBranchName = branchName
+        branchName = branchName.substring(0, maxLength)
+        echo "WARNING: Branch name '${originalBranchName}' exceeded ${maxLength} characters. " +
+             "It has been truncated to '${branchName}' for deployment purposes."
     }
-
-    return chartVersion.replaceAll('_', '-')
+    return branchName
+}
+String buildVersionName() {
+    if (env.BRANCH_NAME == 'release') {
+        return getPomVersion('pom.xml')
+    }
+    return "${getPomVersion('pom.xml')}-${validateBranchName(env.BRANCH_NAME)}-${env.GIT_COMMIT.take(7)}".replaceAll("_", "-")
 }
 
 Boolean isMasterBranch() {
@@ -329,17 +336,6 @@ String getPomVersion(String pomFile){
     return pom.version
 }
 
-String generateImageTag() {
-    def imageTag = "${env.BRANCH_NAME}-${getPomVersion('pom.xml')}"
-
-    if (env.BRANCH_NAME == 'master') {
-        imageTag += "-${env.GIT_COMMIT.take(7)}"
-    }
-
-    return imageTag
-}
-
-
 Boolean isReleaseVersion(List versions) {
     return matchRegexVersion(versions, RELEASE_REGEX)
 }