diff --git a/devops/Jenkinsfile b/devops/Jenkinsfile
new file mode 100644
index 0000000000000000000000000000000000000000..01b440c649f27ae6fdcaa1110e95fff942c18454
--- /dev/null
+++ b/devops/Jenkinsfile
@@ -0,0 +1,84 @@
+pipeline {
+ agent {
+   kubernetes {
+   cloud 'openshift'
+     label 'maven-openjdk18'
+	 yaml """
+spec:
+  containers:
+  - name: jnlp
+    image: quay.io/openshift/origin-jenkins-agent-maven:v4.0.0
+    volumeMounts:
+    - mountPath: "/tmp"
+      name: "workspace-volume"
+      readOnly: false
+    workingDir: "/tmp"
+    securityContext:
+      privileged: false	
+    tty: false
+    resources:
+      limits: 
+        cpu: 200m
+        memory: 2Gi
+      requests: 
+        cpu: 200m
+        memory: 2Gi    
+  restartPolicy: "Never"
+"""		 
+   }
+ }
+
+ environment { 
+  
+ //Cluster environment variable(CLS_ENV). Like QA, DEV, PERF, PROD etc.
+ CLS_ENV = "dev"
+ 
+ //Service variable(CORE_SERVICE). Like indexer, search, delivery, storage, legal etc.
+ CORE_SERVICE = "indexer"
+
+ //GitHub repo URL credential ID for Environment variable files which saved as Secure text in Jenkins Credential.
+ GIT_ENV_VAR_PATH_URL =  credentials('GitRepo-URL-For-Environment-variables') 
+ 
+ //Personal token variable ID which saved as Secure text in Jenkins Credential. Like: GitHub-PRIVATE-TOKEN.
+ PRIVATE_TOKEN  = credentials('GitHub-PRIVATE-TOKEN')
+ 
+ def runShell =  sh (returnStdout: true, script: "curl --header 'PRIVATE-TOKEN: $PRIVATE_TOKEN' ''$GIT_ENV_VAR_PATH_URL'%2F'$CORE_SERVICE'_'$CLS_ENV'_env.json/raw?ref=master' -s -o env.json")
+
+ }
+
+   stages {
+      stage('Integration_test') {
+          environment {
+            def readContent = readJSON file: 'env.json'
+
+			AUTH_USER_ACCESS = "${readContent['AUTH_USER_ACCESS']}"
+			AUTH_USER_ACCESS_PASSWORD = "${readContent['AUTH_USER_ACCESS_PASSWORD']}"
+			DEFAULT_DATA_PARTITION_ID_TENANT1 = "${readContent['DEFAULT_DATA_PARTITION_ID_TENANT1']}"
+			DEFAULT_DATA_PARTITION_ID_TENANT2 = "${readContent['DEFAULT_DATA_PARTITION_ID_TENANT2']}"
+			ELASTIC_HOST = "${readContent['ELASTIC_HOST']}"
+			ELASTIC_PASSWORD = "${readContent['ELASTIC_PASSWORD']}"
+			ELASTIC_PORT = "${readContent['ELASTIC_PORT']}"
+			ELASTIC_USER_NAME = "${readContent['ELASTIC_USER_NAME']}"
+			ENTITLEMENTS_DOMAIN = "${readContent['ENTITLEMENTS_DOMAIN']}"
+			KEYCLOAK_CLIENT_ID = "${readContent['KEYCLOAK_CLIENT_ID']}"
+			KEYCLOAK_CLIENT_SECRET = "${readContent['KEYCLOAK_CLIENT_SECRET']}"
+			KEYCLOAK_REALM = "${readContent['KEYCLOAK_REALM']}"
+			KEYCLOAK_URL = "${readContent['KEYCLOAK_URL']}"
+			LEGAL_TAG = "${readContent['LEGAL_TAG']}"
+			OTHER_RELEVANT_DATA_COUNTRIES = "${readContent['OTHER_RELEVANT_DATA_COUNTRIES']}"
+			STORAGE_HOST = "${readContent['STORAGE_HOST']}"
+			SEARCH_HOST = "${readContent['SEARCH_HOST']}"
+			LEGAL_HOST = "${readContent['LEGAL_HOST']}"
+			INDEXER_HOST = "${readContent['INDEXER_HOST']}"
+			ENTITLEMENT_URL = "${readContent['ENTITLEMENT_URL']}"
+
+          }  
+            steps {
+               script {
+                  sh 'mvn -f testing/indexer-test-ibm/pom.xml test'
+               }
+            }
+       }
+    }
+
+}
\ No newline at end of file