diff --git a/Jenkinsfile.new b/Jenkinsfile.new
new file mode 100644
index 0000000..e24e4ac
--- /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.GERRIT_BRANCH, description: '', name: 'GERRIT_BRANCH')
+        string(defaultValue: 'osm/RO', 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/ro', 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"
+            }
+        }
+    }
+}
+
