diff --git a/Jenkinsfile b/Jenkinsfile
index ce7f72860a1c5fb91d5b0672ef59500f6c294b31..ee1b86a8be67422c1bfcba51fc73a7d56d86944d 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -10,8 +10,8 @@ pipeline {
         SNAPSHOT_REGEX = /\d+.\d+.\d+-SNAPSHOT/
         FAILED_STAGE = ""
         SH_SUCCESS_STATUS_CODE = 0
-        IMAGE_TAG = generateImageTag()
-        HELM_CHART_VERSION = generateHelmChartVersion()
+        IMAGE_TAG = buildVersionName()
+        HELM_CHART_VERSION = buildVersionName()
         BUILD_PROFILE = getBuildProfile()
     }
 
@@ -109,7 +109,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')]) {
@@ -141,7 +141,7 @@ pipeline {
             steps {
                 script {
                     FAILED_STAGE=env.STAGE_NAME
-                    HELM_CHART_VERSION = generateHelmChartVersion()
+                    HELM_CHART_VERSION = buildVersionName()
 
                     dir('src/main/helm') {
                         sh "helm lint -f ../../test/helm-linter-values.yaml"
@@ -224,8 +224,22 @@ String getHelmRepository(){
     return 'ozg-base-apps-snapshot';
 }
 
-String generateImageTag() {
-    return "${env.BRANCH_NAME}-${getPomVersion()}"
+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 branchName
+}
+
+String buildVersionName() {
+    if (isReleaseBranch()) {
+        return getPomVersion()
+    }
+    return "${getPomVersion()}-${validateBranchName(env.BRANCH_NAME)}-${env.GIT_COMMIT.take(7)}".replaceAll("_", "-")
 }
 
 String getPomVersion() {
@@ -347,16 +361,3 @@ Boolean isMasterBranch() {
 Boolean isReleaseBranch() {
     return env.BRANCH_NAME == 'release'
 }
-
-String generateHelmChartVersion() {
-    def chartVersion = getPomVersion()
-
-    if (isMasterBranch()) {
-        chartVersion += "-${env.GIT_COMMIT.take(7)}"
-    }
-    else if (!isReleaseBranch()) {
-        chartVersion += "-${env.BRANCH_NAME}"
-    }
-
-    return chartVersion.replaceAll("_", "-").take(63 - "administration-".length())
-}