generate_gbs_full_build_script /var/lib/jenkins/jobs/
purge-tools-services-tester-projects /var/lib/jenkins/jobs/
repa_auto_reject /var/lib/jenkins/jobs/
+gbsfullbuild-create-snapshot /var/lib/jenkins/jobs/
+gbsfullbuild-image-creator /var/lib/jenkins/jobs/
+gbsfullbuild-buildlogs /var/lib/jenkins/jobs/
########### GBS META UPDATE related Definition##############
GBS_META_DEFAULT_PROFILE=
GBS_META_SUPPORT_TIZEN_VER=
+GBSFULLBUILD_DL_POSTFIX=
<configs class="empty-list"/>
<configFactories>
<hudson.plugins.parameterizedtrigger.FileBuildParameterFactory>
- <filePattern>BUILD-MONITOR.env</filePattern>
+ <filePattern>gbsfullbuild-create-snapshot.env</filePattern>
<noFilesFoundAction>SKIP</noFilesFoundAction>
</hudson.plugins.parameterizedtrigger.FileBuildParameterFactory>
</configFactories>
- <projects>BUILD-MONITOR</projects>
- <condition>ALWAYS</condition>
- <triggerWithNoParameters>false</triggerWithNoParameters>
- <triggerFromChildProjects>false</triggerFromChildProjects>
- <buildAllNodesWithLabel>false</buildAllNodesWithLabel>
- </hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
- </configs>
- </hudson.plugins.parameterizedtrigger.TriggerBuilder>
- <hudson.plugins.parameterizedtrigger.TriggerBuilder plugin="parameterized-trigger@2.33">
- <configs>
- <hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
- <configs class="empty-list"/>
- <configFactories>
- <hudson.plugins.parameterizedtrigger.FileBuildParameterFactory>
- <filePattern>update-gbs-meta.env</filePattern>
- <noFilesFoundAction>SKIP</noFilesFoundAction>
- </hudson.plugins.parameterizedtrigger.FileBuildParameterFactory>
- </configFactories>
- <projects>update-gbs-meta</projects>
+ <projects>gbsfullbuild-create-snapshot</projects>
<condition>ALWAYS</condition>
<triggerWithNoParameters>false</triggerWithNoParameters>
<triggerFromChildProjects>false</triggerFromChildProjects>
--- /dev/null
+<?xml version='1.0' encoding='UTF-8'?>
+<project>
+ <actions/>
+ <description>Job to collect buildlogs and sync to target snapshot, this jobs must be run on OBS server</description>
+ <keepDependencies>false</keepDependencies>
+ <properties>
+ <hudson.plugins.buildblocker.BuildBlockerProperty plugin="build-blocker-plugin@1.7.3">
+ <useBuildBlocker>false</useBuildBlocker>
+ <blockLevel>UNDEFINED</blockLevel>
+ <scanQueueFor>DISABLED</scanQueueFor>
+ <blockingJobs></blockingJobs>
+ </hudson.plugins.buildblocker.BuildBlockerProperty>
+ <jenkins.model.BuildDiscarderProperty>
+ <strategy class="hudson.tasks.LogRotator">
+ <daysToKeep>2</daysToKeep>
+ <numToKeep>-1</numToKeep>
+ <artifactDaysToKeep>-1</artifactDaysToKeep>
+ <artifactNumToKeep>-1</artifactNumToKeep>
+ </strategy>
+ </jenkins.model.BuildDiscarderProperty>
+ <com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.25">
+ <autoRebuild>false</autoRebuild>
+ <rebuildDisabled>false</rebuildDisabled>
+ </com.sonyericsson.rebuild.RebuildSettings>
+ <hudson.model.ParametersDefinitionProperty>
+ <parameterDefinitions>
+ <hudson.model.StringParameterDefinition>
+ <name>TRIGGER_INFO</name>
+ <description></description>
+ <defaultValue></defaultValue>
+ </hudson.model.StringParameterDefinition>
+ </parameterDefinitions>
+ </hudson.model.ParametersDefinitionProperty>
+ </properties>
+ <scm class="hudson.scm.NullSCM"/>
+ <quietPeriod>30</quietPeriod>
+ <assignedNode>download</assignedNode>
+ <canRoam>false</canRoam>
+ <disabled>false</disabled>
+ <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
+ <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
+ <triggers/>
+ <concurrentBuild>false</concurrentBuild>
+ <builders>
+ <hudson.tasks.Shell>
+ <command>#/bin/bash
+
+python ${WORKSPACE}/jenkins-scripts/job_gbsfullbuild_buildlogs.py
+</command>
+ </hudson.tasks.Shell>
+ <hudson.plugins.parameterizedtrigger.TriggerBuilder plugin="parameterized-trigger@2.33">
+ <configs>
+ <hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
+ <configs class="empty-list"/>
+ <configFactories>
+ <hudson.plugins.parameterizedtrigger.FileBuildParameterFactory>
+ <filePattern>make_dep_graph.env</filePattern>
+ <noFilesFoundAction>SKIP</noFilesFoundAction>
+ </hudson.plugins.parameterizedtrigger.FileBuildParameterFactory>
+ </configFactories>
+ <projects>make_dep_graph</projects>
+ <condition>ALWAYS</condition>
+ <triggerWithNoParameters>false</triggerWithNoParameters>
+ <triggerFromChildProjects>false</triggerFromChildProjects>
+ <buildAllNodesWithLabel>false</buildAllNodesWithLabel>
+ </hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
+ </configs>
+ </hudson.plugins.parameterizedtrigger.TriggerBuilder>
+ </builders>
+ <publishers>
+ <org.jvnet.hudson.plugins.groovypostbuild.GroovyPostbuildRecorder plugin="groovy-postbuild@2.3.1">
+ <script plugin="script-security@1.28">
+ <script>def matcher = manager.getLogMatcher('.*"build_id": "(.*)".*')
+
+if(matcher?.matches()) {
+ manager.addShortText(matcher.group(1))
+}else{
+ manager.addShortText("??")
+}</script>
+ <sandbox>false</sandbox>
+ </script>
+ <behavior>0</behavior>
+ <runForMatrixParent>false</runForMatrixParent>
+ </org.jvnet.hudson.plugins.groovypostbuild.GroovyPostbuildRecorder>
+ <hudson.plugins.ws__cleanup.WsCleanup plugin="ws-cleanup@0.33">
+ <patterns class="empty-list"/>
+ <deleteDirs>false</deleteDirs>
+ <skipWhenFailed>false</skipWhenFailed>
+ <cleanWhenSuccess>true</cleanWhenSuccess>
+ <cleanWhenUnstable>true</cleanWhenUnstable>
+ <cleanWhenFailure>true</cleanWhenFailure>
+ <cleanWhenNotBuilt>true</cleanWhenNotBuilt>
+ <cleanWhenAborted>true</cleanWhenAborted>
+ <notFailBuild>false</notFailBuild>
+ <cleanupMatrixParent>false</cleanupMatrixParent>
+ <externalDelete></externalDelete>
+ </hudson.plugins.ws__cleanup.WsCleanup>
+ </publishers>
+ <buildWrappers>
+ <hudson.plugins.ws__cleanup.PreBuildCleanup plugin="ws-cleanup@0.33">
+ <deleteDirs>false</deleteDirs>
+ <cleanupParameter></cleanupParameter>
+ <externalDelete></externalDelete>
+ </hudson.plugins.ws__cleanup.PreBuildCleanup>
+ <com.michelin.cio.hudson.plugins.copytoslave.CopyToSlaveBuildWrapper plugin="copy-to-slave@1.4.4">
+ <includes>configuration, jenkins-scripts/job_gbsfullbuild_buildlogs.py, jenkins-scripts/common/*</includes>
+ <excludes></excludes>
+ <flatten>false</flatten>
+ <includeAntExcludes>false</includeAntExcludes>
+ <hudsonHomeRelative>false</hudsonHomeRelative>
+ <relativeTo>userContent</relativeTo>
+ </com.michelin.cio.hudson.plugins.copytoslave.CopyToSlaveBuildWrapper>
+ <EnvInjectBuildWrapper plugin="envinject@2.1">
+ <info>
+ <propertiesFilePath>${WORKSPACE}/configuration</propertiesFilePath>
+ <secureGroovyScript plugin="script-security@1.28">
+ <script></script>
+ <sandbox>false</sandbox>
+ </secureGroovyScript>
+ <loadFilesFromMaster>false</loadFilesFromMaster>
+ </info>
+ </EnvInjectBuildWrapper>
+ </buildWrappers>
+</project>
\ No newline at end of file
--- /dev/null
+<?xml version='1.0' encoding='UTF-8'?>
+<project>
+ <actions/>
+ <description></description>
+ <keepDependencies>false</keepDependencies>
+ <properties>
+ <hudson.plugins.buildblocker.BuildBlockerProperty plugin="build-blocker-plugin@1.7.3">
+ <useBuildBlocker>true</useBuildBlocker>
+ <blockLevel>GLOBAL</blockLevel>
+ <scanQueueFor>DISABLED</scanQueueFor>
+ <blockingJobs>pre-release-create</blockingJobs>
+ </hudson.plugins.buildblocker.BuildBlockerProperty>
+ <jenkins.model.BuildDiscarderProperty>
+ <strategy class="hudson.tasks.LogRotator">
+ <daysToKeep>7</daysToKeep>
+ <numToKeep>-1</numToKeep>
+ <artifactDaysToKeep>-1</artifactDaysToKeep>
+ <artifactNumToKeep>-1</artifactNumToKeep>
+ </strategy>
+ </jenkins.model.BuildDiscarderProperty>
+ <com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.25">
+ <autoRebuild>false</autoRebuild>
+ <rebuildDisabled>false</rebuildDisabled>
+ </com.sonyericsson.rebuild.RebuildSettings>
+ <hudson.model.ParametersDefinitionProperty>
+ <parameterDefinitions>
+ <hudson.model.StringParameterDefinition>
+ <name>TRIGGER_INFO</name>
+ <description></description>
+ <defaultValue></defaultValue>
+ </hudson.model.StringParameterDefinition>
+ </parameterDefinitions>
+ </hudson.model.ParametersDefinitionProperty>
+ </properties>
+ <scm class="hudson.scm.NullSCM"/>
+ <assignedNode>download</assignedNode>
+ <canRoam>false</canRoam>
+ <disabled>false</disabled>
+ <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
+ <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
+ <triggers/>
+ <concurrentBuild>true</concurrentBuild>
+ <builders>
+ <hudson.tasks.Shell>
+ <command>export GBSFULLBUILD_SNAPSHOT=1
+python ${WORKSPACE}/jenkins-scripts/job_gbsfullbuild_create_snapshot.py</command>
+ </hudson.tasks.Shell>
+ <hudson.plugins.parameterizedtrigger.TriggerBuilder plugin="parameterized-trigger@2.33">
+ <configs>
+ <hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
+ <configs class="empty-list"/>
+ <configFactories>
+ <hudson.plugins.parameterizedtrigger.FileBuildParameterFactory>
+ <filePattern>SLAVE_BUILDER.env</filePattern>
+ <noFilesFoundAction>SKIP</noFilesFoundAction>
+ </hudson.plugins.parameterizedtrigger.FileBuildParameterFactory>
+ </configFactories>
+ <projects>ondemand_slave_control</projects>
+ <condition>ALWAYS</condition>
+ <triggerWithNoParameters>false</triggerWithNoParameters>
+ <triggerFromChildProjects>false</triggerFromChildProjects>
+ <buildAllNodesWithLabel>false</buildAllNodesWithLabel>
+ </hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
+ </configs>
+ </hudson.plugins.parameterizedtrigger.TriggerBuilder>
+ <hudson.plugins.parameterizedtrigger.TriggerBuilder plugin="parameterized-trigger@2.33">
+ <configs>
+ <hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
+ <configs class="empty-list"/>
+ <configFactories>
+ <hudson.plugins.parameterizedtrigger.FileBuildParameterFactory>
+ <filePattern>gbsfullbuild_image_trigger_*.env</filePattern>
+ <noFilesFoundAction>SKIP</noFilesFoundAction>
+ </hudson.plugins.parameterizedtrigger.FileBuildParameterFactory>
+ </configFactories>
+ <projects>gbsfullbuild-image-creator</projects>
+ <condition>ALWAYS</condition>
+ <triggerWithNoParameters>false</triggerWithNoParameters>
+ <triggerFromChildProjects>false</triggerFromChildProjects>
+ <block>
+ <buildStepFailureThreshold>
+ <name>FAILURE</name>
+ <ordinal>2</ordinal>
+ <color>RED</color>
+ <completeBuild>true</completeBuild>
+ </buildStepFailureThreshold>
+ <unstableThreshold>
+ <name>FAILURE</name>
+ <ordinal>2</ordinal>
+ <color>RED</color>
+ <completeBuild>true</completeBuild>
+ </unstableThreshold>
+ <failureThreshold>
+ <name>FAILURE</name>
+ <ordinal>2</ordinal>
+ <color>RED</color>
+ <completeBuild>true</completeBuild>
+ </failureThreshold>
+ </block>
+ <buildAllNodesWithLabel>false</buildAllNodesWithLabel>
+ </hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
+ </configs>
+ </hudson.plugins.parameterizedtrigger.TriggerBuilder>
+ <hudson.plugins.parameterizedtrigger.TriggerBuilder plugin="parameterized-trigger@2.33">
+ <configs>
+ <hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
+ <configs class="empty-list"/>
+ <configFactories>
+ <hudson.plugins.parameterizedtrigger.FileBuildParameterFactory>
+ <filePattern>gbsfullbuild-buildlogs.env</filePattern>
+ <noFilesFoundAction>SKIP</noFilesFoundAction>
+ </hudson.plugins.parameterizedtrigger.FileBuildParameterFactory>
+ </configFactories>
+ <projects>gbsfullbuild-buildlogs</projects>
+ <condition>ALWAYS</condition>
+ <triggerWithNoParameters>false</triggerWithNoParameters>
+ <triggerFromChildProjects>false</triggerFromChildProjects>
+ <buildAllNodesWithLabel>false</buildAllNodesWithLabel>
+ </hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
+ </configs>
+ </hudson.plugins.parameterizedtrigger.TriggerBuilder>
+ </builders>
+ <publishers>
+ <org.jvnet.hudson.plugins.groovypostbuild.GroovyPostbuildRecorder plugin="groovy-postbuild@2.3.1">
+ <script plugin="script-security@1.28">
+ <script>def matcher = manager.getLogMatcher(".*build_id='(.*)'\$")
+
+if(matcher?.matches()) {
+ manager.addShortText("\n")
+ manager.addShortText(matcher.group(1))
+}else{
+ manager.addShortText("??")
+}</script>
+ <sandbox>false</sandbox>
+ </script>
+ <behavior>0</behavior>
+ <runForMatrixParent>false</runForMatrixParent>
+ </org.jvnet.hudson.plugins.groovypostbuild.GroovyPostbuildRecorder>
+ </publishers>
+ <buildWrappers>
+ <hudson.plugins.ws__cleanup.PreBuildCleanup plugin="ws-cleanup@0.33">
+ <deleteDirs>false</deleteDirs>
+ <cleanupParameter></cleanupParameter>
+ <externalDelete></externalDelete>
+ </hudson.plugins.ws__cleanup.PreBuildCleanup>
+ <hudson.plugins.build__timeout.BuildTimeoutWrapper plugin="build-timeout@1.18">
+ <strategy class="hudson.plugins.build_timeout.impl.AbsoluteTimeOutStrategy">
+ <timeoutMinutes>120</timeoutMinutes>
+ </strategy>
+ <operationList>
+ <hudson.plugins.build__timeout.operations.FailOperation/>
+ </operationList>
+ </hudson.plugins.build__timeout.BuildTimeoutWrapper>
+ <com.michelin.cio.hudson.plugins.copytoslave.CopyToSlaveBuildWrapper plugin="copy-to-slave@1.4.4">
+ <includes>configuration, jenkins-scripts/job_gbsfullbuild_create_snapshot.py, jenkins-scripts/common/*</includes>
+ <excludes></excludes>
+ <flatten>false</flatten>
+ <includeAntExcludes>false</includeAntExcludes>
+ <hudsonHomeRelative>false</hudsonHomeRelative>
+ <relativeTo>userContent</relativeTo>
+ </com.michelin.cio.hudson.plugins.copytoslave.CopyToSlaveBuildWrapper>
+ <EnvInjectBuildWrapper plugin="envinject@2.1">
+ <info>
+ <propertiesFilePath>${WORKSPACE}/configuration</propertiesFilePath>
+ <secureGroovyScript plugin="script-security@1.28">
+ <script></script>
+ <sandbox>false</sandbox>
+ </secureGroovyScript>
+ <loadFilesFromMaster>false</loadFilesFromMaster>
+ </info>
+ </EnvInjectBuildWrapper>
+ </buildWrappers>
+</project>
\ No newline at end of file
--- /dev/null
+<?xml version='1.0' encoding='UTF-8'?>
+<project>
+ <actions/>
+ <description>Image creation jobs for all kinds of images</description>
+ <keepDependencies>false</keepDependencies>
+ <properties>
+ <hudson.plugins.buildblocker.BuildBlockerProperty plugin="build-blocker-plugin@1.7.3">
+ <useBuildBlocker>false</useBuildBlocker>
+ <blockLevel>UNDEFINED</blockLevel>
+ <scanQueueFor>DISABLED</scanQueueFor>
+ <blockingJobs></blockingJobs>
+ </hudson.plugins.buildblocker.BuildBlockerProperty>
+ <com.cloudbees.plugins.JobPrerequisites plugin="slave-prerequisites@1.0">
+ <script>mnt_point_cnt=`sudo df -hT | grep /dev/loop | awk '{print $1}' | wc -l`
+loop_device_cnt=`sudo losetup -a | awk '{print $1}' | wc -l`
+if [ $mnt_point_cnt -gt 0 ]; then
+ exit 1;
+fi
+if [ $loop_device_cnt -gt 0 ]; then
+ exit 2;
+fi
+curr_free=`sudo df -h / | grep dev | awk '{print $4}' | sed 's/[^0-9.]*//g'`
+var=$(awk 'BEGIN{ print "'$curr_free'"<"'3.0'" }')
+if [ "$var" -eq 1 ];then
+ exit 3;
+fi
+
+exit 0</script>
+ <interpreter>shell script</interpreter>
+ </com.cloudbees.plugins.JobPrerequisites>
+ <jenkins.model.BuildDiscarderProperty>
+ <strategy class="hudson.tasks.LogRotator">
+ <daysToKeep>3</daysToKeep>
+ <numToKeep>-1</numToKeep>
+ <artifactDaysToKeep>-1</artifactDaysToKeep>
+ <artifactNumToKeep>-1</artifactNumToKeep>
+ </strategy>
+ </jenkins.model.BuildDiscarderProperty>
+ <com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.25">
+ <autoRebuild>false</autoRebuild>
+ <rebuildDisabled>false</rebuildDisabled>
+ </com.sonyericsson.rebuild.RebuildSettings>
+ <hudson.model.ParametersDefinitionProperty>
+ <parameterDefinitions>
+ <hudson.model.StringParameterDefinition>
+ <name>TRIGGER_INFO</name>
+ <description></description>
+ <defaultValue></defaultValue>
+ </hudson.model.StringParameterDefinition>
+ </parameterDefinitions>
+ </hudson.model.ParametersDefinitionProperty>
+ </properties>
+ <scm class="hudson.scm.NullSCM"/>
+ <assignedNode>imager||imager_snapshot</assignedNode>
+ <canRoam>false</canRoam>
+ <disabled>false</disabled>
+ <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
+ <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
+ <triggers/>
+ <concurrentBuild>true</concurrentBuild>
+ <builders>
+ <hudson.tasks.Shell>
+ <command>#/bin/bash
+
+export MIC_WORK_DIR=/var/tmp/mic_$BUILD_NUMBER
+export MIC_CONF_FILE=$MIC_WORK_DIR/mic.conf
+mkdir -p $MIC_WORK_DIR
+cp /etc/mic/mic.conf $MIC_CONF_FILE
+sed -i "s|^tmpdir= /var/tmp/mic|tmpdir= $MIC_WORK_DIR|g" $MIC_CONF_FILE
+sed -i "s|^cachedir= /var/tmp/mic/cache|cachedir= $MIC_WORK_DIR/cache|g" $MIC_CONF_FILE
+sed -i "s|^rootdir=/var/tmp/mic-bootstrap|rootdir= $MIC_WORK_DIR/mic-bootstrap|g" $MIC_CONF_FILE
+
+python ${WORKSPACE}/jenkins-scripts/job_gbsfullbuild_image_creator.py</command>
+ </hudson.tasks.Shell>
+ </builders>
+ <publishers>
+ <hudson.plugins.parameterizedtrigger.BuildTrigger plugin="parameterized-trigger@2.33">
+ <configs>
+ <hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
+ <configs>
+ <hudson.plugins.parameterizedtrigger.FileBuildParameters>
+ <propertiesFile>POST-IMAGE-CREATION.env</propertiesFile>
+ <failTriggerOnMissing>true</failTriggerOnMissing>
+ <useMatrixChild>false</useMatrixChild>
+ <onlyExactRuns>false</onlyExactRuns>
+ </hudson.plugins.parameterizedtrigger.FileBuildParameters>
+ </configs>
+ <projects>post-image-creation</projects>
+ <condition>ALWAYS</condition>
+ <triggerWithNoParameters>false</triggerWithNoParameters>
+ <triggerFromChildProjects>false</triggerFromChildProjects>
+ </hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
+ </configs>
+ </hudson.plugins.parameterizedtrigger.BuildTrigger>
+ <org.jvnet.hudson.plugins.groovypostbuild.GroovyPostbuildRecorder plugin="groovy-postbuild@2.3.1">
+ <script plugin="script-security@1.28">
+ <script>
+def now = new Date();
+def bm_start_datetime = now.format("yyyy-MM-dd HH:mm:ss.SSS", TimeZone.getTimeZone('UTC'));
+
+def timeout = manager.getLogMatcher('Build timed out .*');
+def aborted = manager.getLogMatcher('Build was aborted.*');
+
+def project = "";
+def kickstart = "";
+def name = "";
+def buildid = "";
+def repo = "";
+def images_path = "";
+def download_num= "";
+def url_pub_base= "";
+def repo_path= "";
+def image_xml = "";
+def status = 'failed';
+def bm_stage = 'Image';
+def bm_img_size = 0;
+
+if (timeout?.matches() && aborted?.matches()) {
+ def build = Thread.currentThread().executable
+ def fileName = "BUILD-MONITOR.env";
+
+ if(manager.build.workspace.isRemote()) {
+ channel = manager.build.workspace.channel;
+ file = new hudson.FilePath(channel, manager.build.workspace.toString() + "/" + fileName)
+ }
+ else {
+ File file = new File(build.workspace.toString() + fileName)
+ }
+
+ //File file = new File(build.workspace.toString() + "/BUILD-MONITOR.env")
+
+ manager.addShortText('TimeOut');
+ project = manager.getLogMatcher(' "project": "(.*)".*').group(1);
+ kickstart = manager.getLogMatcher(' "kickstart": "(.*)".*').group(1);
+ name = manager.getLogMatcher(' "name": "(.*)".*').group(1);
+ buildid = manager.getLogMatcher(' "buildid": "(.*)".*').group(1);
+ repo = manager.getLogMatcher(' "repo": "(.*)".*').group(1);
+ images_path = manager.getLogMatcher(' "images_path": "(.*)".*').group(1);
+ download_num= manager.getLogMatcher(' "download_num": (.*),.*').group(1);
+ url_pub_base= manager.getLogMatcher(' "url_pub_base": "(.*)".*').group(1);
+ repo_path= manager.getLogMatcher(' "repo_path": "(.*)".*').group(1);
+ image_xml = "";
+ status = 'success';
+
+/*
+ // Cannot use Map type due to representation differs between groovy and python.
+ def Map fields = [
+ "status": status,
+ "project": project,
+ "kickstart": kickstart,
+ "name": name,
+ "buildid": buildid,
+ "repo": repo,
+ "url": url_pub_base + "/" + repo_path + "/" + images_path,
+ "images_path": images_path,
+ "download_num": download_num,
+ "image_xml": image_xml,
+ "url_pub_base": url_pub_base,
+ "repo_path": repo_path
+ ];
+ def Map parameter = [
+ "bm_stage": "Image",
+ "status": status,
+ "bm_img_size": 0,
+ "bm_start_datetime": "2017",
+ "bm_end_datetime": "2017",
+ "build_id": buildid,
+ "fields": fields
+ ];
+
+ String str_p = parameter.inspect();
+ String encoded = str_p.bytes.encodeBase64().toString();
+ file.write("TRIGGER_INFO=");
+ file.append(encoded);
+*/
+
+ now = new Date();
+ def bm_end_datetime = now.format("yyyy-MM-dd HH:mm:ss.SSS", TimeZone.getTimeZone('UTC'));
+
+ // Instead print all the data as string.
+ def p_str = '{';
+ p_str += '"status": "' + status + '",';
+ p_str += '"bm_start_datetime": "' + bm_start_datetime + '",';
+ p_str += '"bm_end_datetime": "' + bm_end_datetime + '",';
+ p_str += '"bm_stage": "' + bm_stage + '",';
+ p_str += '"bm_img_size": "' + bm_img_size + '",';
+ p_str += '"build_id": "' + buildid + '",';
+ p_str += '"fields":{';
+ p_str += '"status": "' + status + '",';
+ p_str += '"project": "' + project + '",';
+ p_str += '"kickstart": "' + kickstart + '",';
+ p_str += '"name": "' + name + '",';
+ p_str += '"buildid": "' + buildid + '",';
+ p_str += '"repo": "' + repo + '",';
+ p_str += '"url": "' + url_pub_base + '/' + repo_path + '/' + images_path + '",';
+ p_str += '"images_path": "' + images_path + '",';
+ p_str += '"download_num": ' + download_num + ',';
+ p_str += '"image_xml": "' + image_xml + '",';
+ p_str += '"url_pub_base": "' + url_pub_base + '",';
+ p_str += '"repo_path": "' + repo_path + '"';
+ p_str += '}';
+ p_str += '}';
+
+ String encoded = p_str.bytes.encodeBase64().toString();
+ file.write("TRIGGER_INFO=" + encoded, null);
+
+} else {
+ manager.addShortText('OK');
+}
+
+</script>
+ <sandbox>false</sandbox>
+ </script>
+ <behavior>0</behavior>
+ <runForMatrixParent>false</runForMatrixParent>
+ </org.jvnet.hudson.plugins.groovypostbuild.GroovyPostbuildRecorder>
+ </publishers>
+ <buildWrappers>
+ <hudson.plugins.ws__cleanup.PreBuildCleanup plugin="ws-cleanup@0.33">
+ <deleteDirs>false</deleteDirs>
+ <cleanupParameter></cleanupParameter>
+ <externalDelete></externalDelete>
+ </hudson.plugins.ws__cleanup.PreBuildCleanup>
+ <hudson.plugins.build__timeout.BuildTimeoutWrapper plugin="build-timeout@1.18">
+ <strategy class="hudson.plugins.build_timeout.impl.AbsoluteTimeOutStrategy">
+ <timeoutMinutes>60</timeoutMinutes>
+ </strategy>
+ <operationList>
+ <hudson.plugins.build__timeout.operations.FailOperation/>
+ </operationList>
+ </hudson.plugins.build__timeout.BuildTimeoutWrapper>
+ <hudson.plugins.timestamper.TimestamperBuildWrapper plugin="timestamper@1.8.8"/>
+ <com.michelin.cio.hudson.plugins.copytoslave.CopyToSlaveBuildWrapper plugin="copy-to-slave@1.4.4">
+ <includes>configuration, jenkins-scripts/job_gbsfullbuild_image_creator.py, jenkins-scripts/common/*</includes>
+ <excludes></excludes>
+ <flatten>false</flatten>
+ <includeAntExcludes>false</includeAntExcludes>
+ <hudsonHomeRelative>false</hudsonHomeRelative>
+ <relativeTo>userContent</relativeTo>
+ </com.michelin.cio.hudson.plugins.copytoslave.CopyToSlaveBuildWrapper>
+ <EnvInjectBuildWrapper plugin="envinject@2.1">
+ <info>
+ <propertiesFilePath>${WORKSPACE}/configuration</propertiesFilePath>
+ <secureGroovyScript plugin="script-security@1.28">
+ <script></script>
+ <sandbox>false</sandbox>
+ </secureGroovyScript>
+ <loadFilesFromMaster>false</loadFilesFromMaster>
+ </info>
+ </EnvInjectBuildWrapper>
+ </buildWrappers>
+</project>
\ No newline at end of file
%config %{destdir}/purge-tools-services-tester-projects/config.xml
%dir %{destdir}/repa_auto_reject/
%config %{destdir}/repa_auto_reject/config.xml
+%dir %{destdir}/gbsfullbuild-create-snapshot/
+%config %{destdir}/gbsfullbuild-create-snapshot/config.xml
+%dir %{destdir}/gbsfullbuild-image-creator/
+%config %{destdir}/gbsfullbuild-image-creator/config.xml
+%dir %{destdir}/gbsfullbuild-buildlogs/
+%config %{destdir}/gbsfullbuild-buildlogs/config.xml
%files common
%defattr(-,jenkins,jenkins)