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 = "legal" //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']}" KEYCLOAK_CLIENT_ID = "${readContent['KEYCLOAK_CLIENT_ID']}" KEYCLOAK_CLIENT_SECRET = "${readContent['KEYCLOAK_CLIENT_SECRET']}" KEYCLOAK_REALM = "${readContent['KEYCLOAK_REALM']}" KEYCLOAK_URL = "${readContent['KEYCLOAK_URL']}" HOST_URL = "${readContent['HOST_URL']}" HOST_URL_dev = "${readContent['HOST_URL_dev']}" MY_TENANT = "${readContent['MY_TENANT']}" MY_TENANT_PROJECT = "${readContent['MY_TENANT_PROJECT']}" } steps { script { sh 'mvn -f testing/legal-test-ibm/pom.xml test' } } } } }