diff --git a/Jenkinsfile b/Jenkinsfile index c49f480..0a768f6 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -52,9 +52,23 @@ pipeline { } } + stage('Checkout New Branch') { + steps{ + script { + def now = new Date() + env.timestamp = now.format("yyMMdd-HHmm", TimeZone.getTimeZone('GMT')) + println env.timestamp + env.branch = env.timestamp+"-DynatraceConfigurationBackup" + dir("/opt/workspace/coco_apm_dynatrace_terraform_backup/") { + sh "git checkout -b \"${env.branch}\" + } + } + } + } + stage('Install Required Python Packages') { steps { - dir("/opt/workspace/qm_report/") { + dir("/opt/workspace/coco_apm_dynatrace_terraform_backup_exporter/") { retry(3) { sleep(300*installRetryCount) script { @@ -68,94 +82,72 @@ pipeline { } } + stage('Execute Exporting Script') { + steps { + dir("/opt/workspace/coco_apm_dynatrace_terraform_backup_exporter/") { + retry(3) { + sleep(300*reportRetryCount) + + script { + sh "python3 export.py" + } + } + } + } + } + + stage('Move SLO Configuration File') { steps { - dir("/opt/workspace/") { + dir("/opt/workspace/coco_apm_dynatrace_terraform_backup_exporter/") { // move slo configuration file sh''' - mv /opt/workspace/shared_configuration/slo_parameter.yaml /opt/workspace/qm_report/ + mv /opt/workspace/coco_apm_dynatrace_terraform_backup_exporter/output/* /opt/workspace/coco_apm_dynatrace_terraform_backup/ ''' } } } - stage('Execute Reporting Script') { + stage('Push Changes') { steps { - dir("/opt/workspace/qm_report/") { - retry(3) { - sleep(300*reportRetryCount) - - script { - reportRetryCount = reportRetryCount+1 - def SCRIPT_PARAMETER = '' - - if(SLICES.isEmpty()) { - currentBuild.result = 'ABORTED' - error('Aborting due to missing slice parameter') - return - } else { - SCRIPT_PARAMETER = SCRIPT_PARAMETER + " -s " + SLICES.toString() - } - - if (PRESELECT.isEmpty()) { - if (FROMDATE=='') { - currentBuild.result = 'ABORTED' - error('Aborting due to missing startdate parameter') - return - } else { - SCRIPT_PARAMETER = SCRIPT_PARAMETER + " -f " + FROMDATE.toString() - } - - if (TODATE=='') { - currentBuild.result = 'ABORTED' - error('Aborting due to missing enddate parameter') - return - } else { - SCRIPT_PARAMETER = SCRIPT_PARAMETER + " -t " + TODATE.toString() - } - - } else { - SCRIPT_PARAMETER = SCRIPT_PARAMETER + " -p " + PRESELECT.toString() - } - - echo "${SCRIPT_PARAMETER}" - sh "python3 createReport.py ${SCRIPT_PARAMETER}" - sh "python3 summary.py" - summary = readFile('summary.txt').trim() - } - } - - // Only required once CN is not reachable from EMEA - // loopEnvironments(environments) - } - } - } - - stage('Send Report') { - steps { - script { - dir("/opt/workspace/qm_report/") { - try { - emailext subject: "NEW ${env.JOB_NAME}", - mimeType: 'text/html', - body: "Please find the output of the daily QM-Report attached

${summary}", - // to: 'michaela.jaeger@bmw.de, OOC-Support@bmwgroup.com, Andreas.DA.Danzer@partner.bmw.de', - // to: 'rene.forstner@nttdata.com, Andreas.DA.Danzer@partner.bmw.de, linnea.bickeboeller@partner.bmwgroup.com', - // to: 'rene.forstner@nttdata.com, stephan.oertelt@bmw.de, Mohammed.Abadel@bmw.de, michaela.jaeger@bmw.de', - // to: 'rene.forstner@nttdata.com, ermis.wieger@nttdata.com, patryk.gudalewicz.bp@nttdata.com', - // to: 'patryk.gudalewicz.bp@nttdata.com', - // to: 'rene.forstner@nttdata.com, ermis.wieger@nttdata.com, arnel.arnautovic@nttdata.com, patryk.gudalewicz.bp@nttdata.com, stephan.oertelt@bmw.de, Mohammed.Abadel@bmw.de, michaela.jaeger@bmw.de, OOC-Support@bmwgroup.com, Andreas.DB.Danzer@bmwgroup.com', - to: 'Andreas.DB.Danzer@bmwgroup.com, Arnel.Arnautovic@nttdata.com, Ermis.Wieger@nttdata.com', - replyTo: 'coco-apm@bmw.de', - attachmentsPattern: '*.xlsx' - } catch ( mailExc ) { - echo "Sending Email Failed: ${mailExc}" + withCredentials([gitUsernamePassword(credentialsId: "jaws_dynatrace_bitbuket_user", gitToolName: 'Default')]) { + script { + dir("/opt/workspace/coco_apm_dynatrace_terraform_backup/") { + sh "git status" + sh "git add ." + sh "git commit -m \"${env.timestamp}\"" + sh "git push origin ${env.branch}" } } } } } - } + + // stage('Send Report') { + // steps { + // script { + // dir("/opt/workspace/qm_report/") { + // try { + // emailext subject: "NEW ${env.JOB_NAME}", + // mimeType: 'text/html', + // body: "Please find the output of the daily QM-Report attached

${summary}", + // // to: 'michaela.jaeger@bmw.de, OOC-Support@bmwgroup.com, Andreas.DA.Danzer@partner.bmw.de', + // // to: 'rene.forstner@nttdata.com, Andreas.DA.Danzer@partner.bmw.de, linnea.bickeboeller@partner.bmwgroup.com', + // // to: 'rene.forstner@nttdata.com, stephan.oertelt@bmw.de, Mohammed.Abadel@bmw.de, michaela.jaeger@bmw.de', + // // to: 'rene.forstner@nttdata.com, ermis.wieger@nttdata.com, patryk.gudalewicz.bp@nttdata.com', + // // to: 'patryk.gudalewicz.bp@nttdata.com', + // // to: 'rene.forstner@nttdata.com, ermis.wieger@nttdata.com, arnel.arnautovic@nttdata.com, patryk.gudalewicz.bp@nttdata.com, stephan.oertelt@bmw.de, Mohammed.Abadel@bmw.de, michaela.jaeger@bmw.de, OOC-Support@bmwgroup.com, Andreas.DB.Danzer@bmwgroup.com', + // to: 'Andreas.DB.Danzer@bmwgroup.com, Arnel.Arnautovic@nttdata.com, Ermis.Wieger@nttdata.com', + // replyTo: 'coco-apm@bmw.de', + // attachmentsPattern: '*.xlsx' + // } catch ( mailExc ) { + // echo "Sending Email Failed: ${mailExc}" + // } + // } + // } + // } + // } + // } post { failure {