Add Jenkins job filler to puppet

Adds default Openstack jobs for a given project name into Jenkins

To envoke add a section as follows to your site manifest:

  class { "jenkins_jobs":
    site => "openstack",
    projects => ["project1", "project2"]
  }

Now using xml building blocks!

Change-Id: If4cacba91d3dc22207e53413543e5bcfcfb0b541
This commit is contained in:
Andrew Hutchings 2012-03-19 20:05:03 +00:00
parent 5405cc4f4d
commit e53a05ac39
26 changed files with 715 additions and 0 deletions

View File

@ -0,0 +1,85 @@
define jenkins_jobs::add_jobs($site) {
$project = $name
jenkins_jobs::job { "${name}-coverage":
site => "${site}",
project => "${name}",
job => "coverage",
logrotate => template("jenkins_jobs/logrotate.xml.erb"),
builders => [template("jenkins_jobs/builder_copy_bundle.xml.erb"), template("jenkins_jobs/builder_coverage.xml.erb")],
publishers => template("jenkins_jobs/publisher_coverage.xml.erb"),
triggers => template("jenkins_jobs/trigger_timed_15mins.xml.erb"),
scm => template("jenkins_jobs/scm_git.xml.erb")
}
jenkins_jobs::job { "${name}-docs":
site => "${site}",
project => "${name}",
job => "docs",
triggers => template("jenkins_jobs/trigger_timed_15mins.xml.erb"),
builders => [template("jenkins_jobs/builder_copy_bundle.xml.erb"), template("jenkins_jobs/builder_docs.xml.erb")],
publishers => template("jenkins_jobs/publisher_docs.xml.erb"),
scm => template("jenkins_jobs/scm_git.xml.erb")
}
jenkins_jobs::job { "${name}-merge":
site => "${site}",
project => "${name}",
job => "merge",
triggers => template("jenkins_jobs/trigger_gerrit_comment.xml.erb"),
builders => template("jenkins_jobs/builder_gerrit_git_prep.xml.erb")
}
jenkins_jobs::job { "${name}-pep8":
site => "${site}",
project => "${name}",
job => "pep8",
triggers => template("jenkins_jobs/trigger_gerrit_comment.xml.erb"),
builders => [template("jenkins_jobs/builder_gerrit_git_prep.xml.erb"), template("jenkins_jobs/builder_copy_bundle.xml.erb"), template("jenkins_jobs/builder_pep8.xml.erb")],
publishers => template("jenkins_jobs/publisher_pep8.xml.erb")
}
jenkins_jobs::job { "${name}-ppa":
site => "${site}",
project => "${name}",
job => "ppa",
builders => template("jenkins_jobs/builder_ppa.xml.erb"),
publishers => template("jenkins_jobs/publisher_ppa.xml.erb")
}
jenkins_jobs::job { "${name}-python26":
site => "${site}",
project => "${name}",
job => "python26",
triggers => template("jenkins_jobs/trigger_gerrit_comment.xml.erb"),
builders => [template("jenkins_jobs/builder_gerrit_git_prep.xml.erb"), template("jenkins_jobs/builder_copy_bundle.xml.erb"), template("jenkins_jobs/builder_python26.xml.erb")],
}
jenkins_jobs::job { "${name}-python27":
site => "${site}",
project => "${name}",
job => "python27",
triggers => template("jenkins_jobs/trigger_gerrit_comment.xml.erb"),
builders => [template("jenkins_jobs/builder_gerrit_git_prep.xml.erb"), template("jenkins_jobs/builder_copy_bundle.xml.erb"), template("jenkins_jobs/builder_python27.xml.erb")],
}
jenkins_jobs::job { "${name}-tarball":
site => "${site}",
project => "${name}",
job => "tarball",
triggers => template("jenkins_jobs/trigger_gerrit_ref_updated.xml.erb"),
builders => [template("jenkins_jobs/builder_gerrit_git_prep.xml.erb"), template("jenkins_jobs/builder_copy_bundle.xml.erb"), template("jenkins_jobs/builder_tarball.xml.erb")],
publishers => template("jenkins_jobs/publisher_tarball.xml.erb")
}
jenkins_jobs::job { "${name}-venv":
site => "${site}",
project => "${job}",
job => "venv",
triggers => template("jenkins_jobs/trigger_timed_midnight.xml.erb"),
builders => template("jenkins_jobs/builder_venv.xml.erb"),
publishers => template("jenkins_jobs/publisher_venv.xml.erb"),
scm => template("jenkins_jobs/scm_git.xml.erb")
}
}

View File

@ -0,0 +1,10 @@
class jenkins_jobs($site, $projects) {
service { "jenkins":
ensure => running
}
jenkins_jobs::add_jobs { $projects:
site => "${site}"
}
}

View File

@ -0,0 +1,44 @@
define jenkins_jobs::job($site, $project, $job, $triggers="", $builders, $publishers="", $logrotate="", $scm="") {
file { "/var/lib/jenkins/jobs/${project}-${job}":
ensure => directory,
owner => 'jenkins',
group => 'nogroup'
}
file { "/var/lib/jenkins/jobs/${project}-${job}/builds":
ensure => directory,
owner => 'jenkins',
group => 'nogroup',
require => File["/var/lib/jenkins/jobs/${project}-${job}"],
notify => Service["jenkins"]
}
file { "/var/lib/jenkins/jobs/${project}-${job}/config-history":
ensure => directory,
owner => 'jenkins',
group => 'nogroup',
require => File["/var/lib/jenkins/jobs/${project}-${job}"],
notify => Service["jenkins"]
}
file { "/var/lib/jenkins/jobs/${project}-${job}/config.xml":
ensure => present,
content => template("jenkins_jobs/body.xml.erb"),
owner => 'jenkins',
group => 'nogroup',
require => File["/var/lib/jenkins/jobs/${project}-${job}"],
notify => Service["jenkins"]
}
file { "/var/lib/jenkins/jobs/${project}-${job}/nextBuildNumer":
ensure => present,
content => "1",
owner => 'jenkins',
group => 'nogroup',
replace => false,
require => File["/var/lib/jenkins/jobs/${project}-${job}"],
notify => Service["jenkins"]
}
}

View File

@ -0,0 +1,59 @@
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description></description>
<%= logrotate %>
<keepDependencies>false</keepDependencies>
<properties>
<com.coravy.hudson.plugins.github.GithubProjectProperty>
<projectUrl>https://github.com/<%= site %>/<%= project %>/</projectUrl>
</com.coravy.hudson.plugins.github.GithubProjectProperty>
<hudson.plugins.throttleconcurrents.ThrottleJobProperty>
<maxConcurrentPerNode>0</maxConcurrentPerNode>
<maxConcurrentTotal>0</maxConcurrentTotal>
<categories/>
<throttleEnabled>false</throttleEnabled>
<throttleOption>project</throttleOption>
<configVersion>1</configVersion>
</hudson.plugins.throttleconcurrents.ThrottleJobProperty>
<EnvInjectJobProperty>
<info>
<propertiesContent>PROJECT=<%= project %></propertiesContent>
<loadFilesFromMaster>false</loadFilesFromMaster>
</info>
<on>true</on>
<keepJenkinsSystemVariables>true</keepJenkinsSystemVariables>
<keepBuildVariables>true</keepBuildVariables>
<contributors/>
</EnvInjectJobProperty>
<hudson.security.AuthorizationMatrixProperty>
<permission>hudson.model.Item.Build:authenticated</permission>
</hudson.security.AuthorizationMatrixProperty>
</properties>
<% if scm == "" %>
<scm class="hudson.scm.NullSCM"/>
<% else %>
<%= scm %>
<% end %>
<canRoam>false</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<% if triggers != "" %>
<triggers class="vector">
<%= triggers %>
</triggers>
<% end %>
<concurrentBuild>false</concurrentBuild>
<% if builders != "" %>
<builders>
<%= builders %>
</builders>
<% end %>
<% if publishers != "" %>
<publishers>
<%= publishers %>
</publishers>
<% end %>
<buildWrappers/>
</project>

View File

@ -0,0 +1,23 @@
<builders>
<hudson.plugins.copyartifact.CopyArtifact>
<projectName>$PROJECT-venv</projectName>
<filter></filter>
<target></target>
<selector class="hudson.plugins.copyartifact.StatusBuildSelector"/>
</hudson.plugins.copyartifact.CopyArtifact>
<hudson.tasks.Shell>
<command># Support jobs, such as nova-docs, which are not yet triggered by gerrit
if [ &quot;x$GERRIT_BRANCH&quot; = &quot;x&quot; ] ; then
GERRIT_BRANCH=master
fi
mv jenkins_venvs/$GERRIT_BRANCH/.cache.bundle .
rm -fr jenkins_venvs
if [ -f tools/test-requires -a \
`git diff HEAD^1 tools/test-requires 2&gt;/dev/null | wc -l` -gt 0 -o \
`git diff HEAD^1 tools/pip-requires 2&gt;/dev/null | wc -l` -gt 0 ]
then
rm .cache.bundle
fi</command>
</hudson.tasks.Shell>
</builders>

View File

@ -0,0 +1,9 @@
<hudson.tasks.Shell>
<command>if [ -f .cache.bundle ] ; then
tox -ejenkinscover
else
tox -evenv -- nosetests test/unit --with-xcoverage --cover-erase --cover-package=<%= project %>
fi</command>
</hudson.tasks.Shell>

View File

@ -0,0 +1,10 @@
<hudson.tasks.Shell>
<command>mkdir -p doc/build
export HUDSON_PUBLISH_DOCS=1
if [ -f .cache.bundle ] ; then
tox -ejenkinsvenv python setup.py build_sphinx
else
tox -evenv python setup.py build_sphinx
fi</command>
</hudson.tasks.Shell>

View File

@ -0,0 +1,31 @@
<hudson.tasks.Shell>
<command>#!/bin/bash -xe
if [ -z &quot;$GERRIT_NEWREV&quot; ] &amp;&amp; [ -z &quot;$GERRIT_REFSPEC&quot; ]
then
echo &quot;This job may only be triggered by Gerrit.&quot;
exit 1
fi
if [[ ! -e .git ]]
then
git clone https://review.<%= site %>.org/p/$GERRIT_PROJECT .
fi
git remote update || git remote update # attempt to work around bug #925790
git reset --hard
git clean -x -f -d -q
if [ ! -z &quot;$GERRIT_REFSPEC&quot; ]
then
git checkout $GERRIT_BRANCH
git reset --hard remotes/origin/$GERRIT_BRANCH
git clean -x -f -d -q
git fetch https://review.<%= site %>.org/p/$GERRIT_PROJECT $GERRIT_REFSPEC
git merge FETCH_HEAD
else
git checkout $GERRIT_NEWREV
git reset --hard $GERRIT_NEWREV
git clean -x -f -d -q
fi
</command>
</hudson.tasks.Shell>

View File

@ -0,0 +1,9 @@
<hudson.tasks.Shell>
<command>#!/bin/sh
if [ -f .cache.bundle ] ; then
tox -v -ejenkinspep8 | tee pep8.txt
else
tox -v -epep8 | tee pep8.txt
fi</command>
</hudson.tasks.Shell>

View File

@ -0,0 +1,22 @@
<hudson.tasks.Shell>
<command>rm -rf build dist.zip
mkdir build
</command>
</hudson.tasks.Shell>
<hudson.plugins.copyartifact.CopyArtifact>
<projectName><%= project %>-tarball</projectName>
<filter>dist/*.tar.gz</filter>
<target>build</target>
<selector class="hudson.plugins.copyartifact.ParameterizedBuildSelector">
<parameterName>BUILD_SELECTOR</parameterName>
</selector>
</hudson.plugins.copyartifact.CopyArtifact>
<hudson.tasks.Shell>
<command>#!/bin/bash
#export DO_UPLOAD=&quot;no&quot;
export PROJECT=&quot;<%= project %>&quot;
export GERRIT_REFNAME=$BRANCH
/bin/bash -xe ~/openstack-ci/slave_scripts/create-ppa-package.sh
</command>
</hudson.tasks.Shell>

View File

@ -0,0 +1,8 @@
<hudson.tasks.Shell>
<command>if [ -f .cache.bundle ]
then
tox -v -ejenkinspy26
else
tox -v -epy26
fi</command>
</hudson.tasks.Shell>

View File

@ -0,0 +1,8 @@
<hudson.tasks.Shell>
<command>if [ -f .cache.bundle ]
then
tox -v -ejenkinspy27
else
tox -v -epy27
fi</command>
</hudson.tasks.Shell>

View File

@ -0,0 +1,4 @@
<hudson.tasks.Shell>
<command>~/openstack-ci/slave_scripts/create-tarball.sh
</command>
</hudson.tasks.Shell>

View File

@ -0,0 +1,3 @@
<hudson.tasks.Shell>
<command>bash -x ~/openstack-ci/slave_scripts/build-bundle.sh</command>
</hudson.tasks.Shell>

View File

@ -0,0 +1,7 @@
<logRotator>
<daysToKeep>3</daysToKeep>
<numToKeep>20</numToKeep>
<artifactDaysToKeep>-1</artifactDaysToKeep>
<artifactNumToKeep>-1</artifactNumToKeep>
</logRotator>

View File

@ -0,0 +1,53 @@
<hudson.plugins.cobertura.CoberturaPublisher>
<coberturaReportFile>**/coverage.xml</coberturaReportFile>
<onlyStable>false</onlyStable>
<healthyTarget>
<targets class="enum-map" enum-type="hudson.plugins.cobertura.targets.CoverageMetric">
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>CONDITIONAL</hudson.plugins.cobertura.targets.CoverageMetric>
<int>70</int>
</entry>
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>LINE</hudson.plugins.cobertura.targets.CoverageMetric>
<int>80</int>
</entry>
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>METHOD</hudson.plugins.cobertura.targets.CoverageMetric>
<int>80</int>
</entry>
</targets>
</healthyTarget>
<unhealthyTarget>
<targets class="enum-map" enum-type="hudson.plugins.cobertura.targets.CoverageMetric">
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>CONDITIONAL</hudson.plugins.cobertura.targets.CoverageMetric>
<int>0</int>
</entry>
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>LINE</hudson.plugins.cobertura.targets.CoverageMetric>
<int>0</int>
</entry>
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>METHOD</hudson.plugins.cobertura.targets.CoverageMetric>
<int>0</int>
</entry>
</targets>
</unhealthyTarget>
<failingTarget>
<targets class="enum-map" enum-type="hudson.plugins.cobertura.targets.CoverageMetric">
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>CONDITIONAL</hudson.plugins.cobertura.targets.CoverageMetric>
<int>0</int>
</entry>
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>LINE</hudson.plugins.cobertura.targets.CoverageMetric>
<int>0</int>
</entry>
<entry>
<hudson.plugins.cobertura.targets.CoverageMetric>METHOD</hudson.plugins.cobertura.targets.CoverageMetric>
<int>0</int>
</entry>
</targets>
</failingTarget>
<sourceEncoding>ASCII</sourceEncoding>
</hudson.plugins.cobertura.CoberturaPublisher>

View File

@ -0,0 +1,20 @@
<be.certipost.hudson.plugin.SCPRepositoryPublisher>
<siteName><%= project %>.<%= site %>.org</siteName>
<entries>
<be.certipost.hudson.plugin.Entry>
<filePath>docs/<%= project %></filePath>
<sourceFile>doc/build/html/**</sourceFile>
<keepHierarchy>false</keepHierarchy>
</be.certipost.hudson.plugin.Entry>
<be.certipost.hudson.plugin.Entry>
<filePath>docs/<%= project %>/_static</filePath>
<sourceFile>doc/build/html/_static/**</sourceFile>
<keepHierarchy>false</keepHierarchy>
</be.certipost.hudson.plugin.Entry>
<be.certipost.hudson.plugin.Entry>
<filePath>docs/<%= project %>/_sources</filePath>
<sourceFile>doc/build/html/_sources/**</sourceFile>
<keepHierarchy>false</keepHierarchy>
</be.certipost.hudson.plugin.Entry>
</entries>
</be.certipost.hudson.plugin.SCPRepositoryPublisher>

View File

@ -0,0 +1,179 @@
<hudson.plugins.violations.ViolationsPublisher>
<config>
<suppressions class="tree-set">
<no-comparator/>
</suppressions>
<typeConfigs>
<no-comparator/>
<entry>
<string>checkstyle</string>
<hudson.plugins.violations.TypeConfig>
<type>checkstyle</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>codenarc</string>
<hudson.plugins.violations.TypeConfig>
<type>codenarc</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>cpd</string>
<hudson.plugins.violations.TypeConfig>
<type>cpd</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>cpplint</string>
<hudson.plugins.violations.TypeConfig>
<type>cpplint</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>csslint</string>
<hudson.plugins.violations.TypeConfig>
<type>csslint</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>findbugs</string>
<hudson.plugins.violations.TypeConfig>
<type>findbugs</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>fxcop</string>
<hudson.plugins.violations.TypeConfig>
<type>fxcop</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>gendarme</string>
<hudson.plugins.violations.TypeConfig>
<type>gendarme</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>jcreport</string>
<hudson.plugins.violations.TypeConfig>
<type>jcreport</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>jslint</string>
<hudson.plugins.violations.TypeConfig>
<type>jslint</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>pep8</string>
<hudson.plugins.violations.TypeConfig>
<type>pep8</type>
<min>0</min>
<max>1</max>
<unstable>1</unstable>
<usePattern>false</usePattern>
<pattern>**/pep8.txt</pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>pmd</string>
<hudson.plugins.violations.TypeConfig>
<type>pmd</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>pylint</string>
<hudson.plugins.violations.TypeConfig>
<type>pylint</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>simian</string>
<hudson.plugins.violations.TypeConfig>
<type>simian</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>stylecop</string>
<hudson.plugins.violations.TypeConfig>
<type>stylecop</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
</typeConfigs>
<limit>100</limit>
<sourcePathPattern></sourcePathPattern>
<fauxProjectPath></fauxProjectPath>
<encoding>default</encoding>
</config>
</hudson.plugins.violations.ViolationsPublisher>

View File

@ -0,0 +1,4 @@
<hudson.tasks.ArtifactArchiver>
<artifacts>build/*.dsc,build/*.tar.gz,build/*.changes</artifacts>
<latestOnly>false</latestOnly>
</hudson.tasks.ArtifactArchiver>

View File

@ -0,0 +1,30 @@
<hudson.tasks.ArtifactArchiver>
<artifacts>dist/*.tar.gz</artifacts>
<latestOnly>false</latestOnly>
</hudson.tasks.ArtifactArchiver>
<be.certipost.hudson.plugin.SCPRepositoryPublisher>
<siteName><%= project %>.<%= site %>.org</siteName>
<entries>
<be.certipost.hudson.plugin.Entry>
<filePath>tarballs/<%= project %>/</filePath>
<sourceFile>dist/*.tar.gz</sourceFile>
<keepHierarchy>false</keepHierarchy>
</be.certipost.hudson.plugin.Entry>
</entries>
</be.certipost.hudson.plugin.SCPRepositoryPublisher>
<hudson.plugins.parameterizedtrigger.BuildTrigger>
<configs>
<hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
<configs>
<hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
<properties>BUILD_SELECTOR=&lt;SpecificBuildSelector&gt;&lt;buildNumber&gt;$BUILD_NUMBER&lt;/buildNumber&gt;&lt;/SpecificBuildSelector&gt;
BRANCH=$GERRIT_REFNAME
</properties>
</hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
</configs>
<projects><%= project %>-ppa</projects>
<condition>SUCCESS</condition>
<triggerWithNoParameters>false</triggerWithNoParameters>
</hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
</configs>
</hudson.plugins.parameterizedtrigger.BuildTrigger>

View File

@ -0,0 +1,4 @@
<hudson.tasks.ArtifactArchiver>
<artifacts>jenkins_venvs/**/.cache.bundle</artifacts>
<latestOnly>false</latestOnly>
</hudson.tasks.ArtifactArchiver>

View File

@ -0,0 +1,34 @@
<scm class="hudson.plugins.git.GitSCM">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name>origin</name>
<refspec>+refs/heads/*:refs/remotes/origin/*</refspec>
<url>git://github.com/<%= site %>/<%= project %>.git</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>**</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>true</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir></relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<scmName></scmName>
</scm>

View File

@ -0,0 +1,28 @@
<com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger>
<spec></spec>
<gerritProjects>
<com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.GerritProject>
<compareType>PLAIN</compareType>
<pattern><%= site %>/<%= project %></pattern>
<branches>
<com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.Branch>
<compareType>ANT</compareType>
<pattern>**</pattern>
</com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.Branch>
</branches>
</com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.GerritProject>
</gerritProjects>
<silentMode>false</silentMode>
<escapeQuotes>true</escapeQuotes>
<triggerOnPatchsetUploadedEvent>true</triggerOnPatchsetUploadedEvent>
<triggerOnChangeMergedEvent>false</triggerOnChangeMergedEvent>
<triggerOnCommentAddedEvent>true</triggerOnCommentAddedEvent>
<triggerOnRefUpdatedEvent>false</triggerOnRefUpdatedEvent>
<commentAddedTriggerApprovalCategory>APRV</commentAddedTriggerApprovalCategory>
<commentAddedTriggerApprovalValue>1</commentAddedTriggerApprovalValue>
<buildStartMessage></buildStartMessage>
<buildFailureMessage>This change was unable to be automatically merged with the current state of the repository. Please rebase your change and upload a new patchset.</buildFailureMessage>
<buildSuccessfulMessage></buildSuccessfulMessage>
<buildUnstableMessage></buildUnstableMessage>
<customUrl></customUrl>
</com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger>

View File

@ -0,0 +1,25 @@
<com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.GerritProject>
<compareType>PLAIN</compareType>
<pattern><%= site %>/<%= project %></pattern>
<branches>
<com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.Branch>
<compareType>REG_EXP</compareType>
<pattern>^(?!refs/).*$</pattern>
</com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.Branch>
</branches>
</com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.GerritProject>
</gerritProjects>
<silentMode>false</silentMode>
<escapeQuotes>true</escapeQuotes>
<triggerOnPatchsetUploadedEvent>false</triggerOnPatchsetUploadedEvent>
<triggerOnChangeMergedEvent>false</triggerOnChangeMergedEvent>
<triggerOnCommentAddedEvent>false</triggerOnCommentAddedEvent>
<triggerOnRefUpdatedEvent>true</triggerOnRefUpdatedEvent>
<commentAddedTriggerApprovalCategory></commentAddedTriggerApprovalCategory>
<commentAddedTriggerApprovalValue></commentAddedTriggerApprovalValue>
<buildStartMessage></buildStartMessage>
<buildFailureMessage></buildFailureMessage>
<buildSuccessfulMessage></buildSuccessfulMessage>
<buildUnstableMessage></buildUnstableMessage>
<customUrl></customUrl>
</com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger>

View File

@ -0,0 +1,3 @@
<hudson.triggers.SCMTrigger>
<spec>*/15 * * * *</spec>
</hudson.triggers.SCMTrigger>

View File

@ -0,0 +1,3 @@
<hudson.triggers.TimerTrigger>
<spec>@midnight</spec>
</hudson.triggers.TimerTrigger>