123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- pipeline {
- agent any
-
- environment {
- BACKUP_DIR = './backup'
- }
-
- stages {
- stage('Checkout') {
- steps {
- checkout scm
- }
- }
-
- stage('Setup') {
- steps {
- script {
- BRANCH_NAME = env.BRANCH_NAME.split('/')[-1] // Extract branch name
-
- switch(BRANCH_NAME) {
- case "test08":
- env.BASE_URL = "https://test08.bizgaze.com/Account/Import/"
- env.AUTH_TOKEN = "6884972896664f4582e08f7f93da953d"
- break
- case "qaanwi":
- env.BASE_URL = "https://qa.anwisystems.com/Account/Import/"
- env.AUTH_TOKEN = "541c35d52a7b449f956175992619ed3a"
- break
- case "c02_version1.0":
- env.BASE_URL = "https://uat01.bizgaze.com/Account/Import/"
- env.AUTH_TOKEN = "572577b630b66235e102a1832e0181"
- 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')
- process_folder('./doctype', 'doctype')
- process_folder('./integrations', 'integrations')
- process_folder('./portability', 'portability')
- process_folder('./widget', 'widget')
- commitChanges()
- }
- }
- }
- }
- }
-
- 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}"
-
- // Use find command to get XML files and avoid error if none found
- def fileList = sh(script: "find ${folder} -name '*.xml' || echo ''", returnStdout: true).trim().split('\n')
-
- // Remove any empty strings from the list
- fileList = fileList.findAll { it != '' }
-
- // Check if we found any files
- if (fileList.size() == 0) {
- echo "No XML files found in ${folder}."
- return
- }
-
- echo "Detected files: ${fileList.join(', ')}"
-
- for(file in fileList) {
- def response = sh(script: """
- curl --location --request POST "${import_url}" \
- --header 'Authorization: stat ${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}"
- }
- }
- }
-
- def commitChanges() {
- // Configure Git
- sh """
- git config user.email "jenkins@bizgaze.in"
- git config user.name "jenkinstest"
- """
-
- // Check for changes
- sh """
- git checkout ${env.BRANCH_NAME}
- git pull origin ${env.BRANCH_NAME}
- git add .
- git commit -m "Moved processed XML files to backup"
- git push --force https://jenkinstest:Bizgaze123@code.bizgaze.com/devops.bizgaze/imports.git ${env.BRANCH_NAME}
- """
- }
|