Comparer les révisions
3 Révisions
| Auteur | SHA1 | Date | |
|---|---|---|---|
| 38a469f50c | |||
| 357bc98ef0 | |||
| e4dba442de |
Externe
+94
@@ -0,0 +1,94 @@
|
||||
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')
|
||||
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 add .
|
||||
git commit -m "Moved processed XML files to backup"
|
||||
git push https://jenkinstest:Bizgaze123@code.bizgaze.com/devops.bizgaze/imports.git ${env.BRANCH_NAME}
|
||||
"""
|
||||
}
|
||||
|
||||
Diff de fichier supprimé car une ou plusieurs lignes sont trop longues
Diff de fichier supprimé car une ou plusieurs lignes sont trop longues
Diff de fichier supprimé car une ou plusieurs lignes sont trop longues
Diff de fichier supprimé car une ou plusieurs lignes sont trop longues
Diff de fichier supprimé car une ou plusieurs lignes sont trop longues
Diff de fichier supprimé car une ou plusieurs lignes sont trop longues
Référencer dans un nouveau ticket
Bloquer un utilisateur