pipeline { agent any environment { BACKUP_DIR = './backup' } stages { stage('Setup') { steps { script { BRANCH_NAME = env.BRANCH_NAME.split('/')[-1] // Extract branch name switch(BRANCH_NAME) { case "test1": env.BASE_URL = "https://test08.bizgaze.com/Account/Import/" env.AUTH_TOKEN = "6884972896664f4582e08f7f93da953d" break case "anwiqa": env.BASE_URL = "https://qa.anwisystems.com/Account/Import/" env.AUTH_TOKEN = "541c35d52a7b449f956175992619ed3a" break default: error "Unknown branch: ${BRANCH_NAME}. Exiting." } } } } stage('Process XML files') { steps { script { process_folder('./app', 'app') process_folder('./report', 'report') process_folder('./form', 'form') } } } } } def process_folder(folder, import_type) { import_url = "${env.BASE_URL}${import_type}" backup_folder = "${env.BACKUP_DIR}/${import_type}" sh "mkdir -p ${backup_folder}" files = findFiles(glob: "${folder}/*.xml") for(file in files) { response = sh(script: """ curl --location --request POST "${import_url}" \ --header "Authorization: ${env.AUTH_TOKEN}" \ --form "@${file}" \ """, returnStdout: true).trim() if(response != '') { // or other success condition sh "mv ${file} ${backup_folder}/" echo "API Response: ${response}" } else { echo "Error while uploading ${file} to ${import_url}" } } }