diff --git a/Jenkinsfile.new b/Jenkinsfile.new
new file mode 100644
index 0000000..4d02e99
--- /dev/null
+++ b/Jenkinsfile.new
@@ -0,0 +1,41 @@
+/*
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY, either express or
+  implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+*/
+
+pipeline {
+    agent none
+    parameters {
+        string(defaultValue: env.BRANCH_NAME, description: '', name: 'GERRIT_BRANCH')
+        string(defaultValue: 'osm/NBI', description: '', name: 'GERRIT_PROJECT')
+        string(defaultValue: env.GERRIT_REFSPEC, description: '', name: 'GERRIT_REFSPEC')
+        string(defaultValue: env.GERRIT_PATCHSET_REVISION, description: '', name: 'GERRIT_PATCHSET_REVISION')
+        string(defaultValue: 'https://osm.etsi.org/gerrit', description: '', name: 'PROJECT_URL_PREFIX')
+        booleanParam(defaultValue: false, description: '', name: 'TEST_INSTALL')
+        // string(defaultValue: 'artifactory-osm', description: '', name: 'ARTIFACTORY_SERVER')
+        // New parameters for Docker image build
+        string(defaultValue: 'opensourcemano/nbi', description: 'Docker Image Name', name: 'IMAGENAME')
+        string(defaultValue: 'localhost:5000', description: 'Docker Registry', name: 'DOCKER_REGISTRY')
+        string(defaultValue: 'http://', description: 'Docker Registry protocol', name: 'DOCKER_REGISTRY_PROTOCOL')
+        string(defaultValue: '', description: 'ID of Docker Registry Credentials', name: 'DOCKER_CREDENTIALS') // `defaultValue` to be updated with actual ID in Jenkins whenever needed
+    }
+    stages {
+        stage('TEST') {
+            agent { label 'system' }
+            steps {
+                echo "HELLO"
+            }
+        }
+    }
+}
+
