diff --git a/modules/jenkins_jobs/files/modules/trigger_pollscm.py b/modules/jenkins_jobs/files/modules/trigger_pollscm.py new file mode 100644 index 0000000000..9d9eb69902 --- /dev/null +++ b/modules/jenkins_jobs/files/modules/trigger_pollscm.py @@ -0,0 +1,33 @@ +#! /usr/bin/env python +# Copyright (C) 2012 OpenStack, LLC. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +# Jenkins Job module for scm polling triggers +# To use add the following into your YAML: +# trigger: +# pollscm: '@midnight' +# or +# pollscm: '*/15 * * * *' + +import xml.etree.ElementTree as XML + +class trigger_pollscm(object): + def __init__(self, data): + self.data = data + + def gen_xml(self, xml_parent): + time = self.data['trigger']['pollscm'] + trigger = XML.SubElement(xml_parent, 'triggers', {'class':'vector'}) + scmtrig = XML.SubElement(trigger, 'hudson.triggers.SCMTrigger') + XML.SubElement(scmtrig, 'spec').text = time diff --git a/modules/jenkins_jobs/files/modules/trigger_timed.py b/modules/jenkins_jobs/files/modules/trigger_timed.py index 02e4938df5..37686136d5 100644 --- a/modules/jenkins_jobs/files/modules/trigger_timed.py +++ b/modules/jenkins_jobs/files/modules/trigger_timed.py @@ -29,5 +29,5 @@ class trigger_timed(object): def gen_xml(self, xml_parent): time = self.data['trigger']['timed'] trigger = XML.SubElement(xml_parent, 'triggers', {'class':'vector'}) - scmtrig = XML.SubElement(trigger, 'hudson.triggers.SCMTrigger') + scmtrig = XML.SubElement(trigger, 'hudson.triggers.TimerTrigger') XML.SubElement(scmtrig, 'spec').text = time diff --git a/modules/jenkins_jobs/files/templates/python_jobs.yml b/modules/jenkins_jobs/files/templates/python_jobs.yml index e19ec42eac..f3d0775a05 100644 --- a/modules/jenkins_jobs/files/templates/python_jobs.yml +++ b/modules/jenkins_jobs/files/templates/python_jobs.yml @@ -5,7 +5,7 @@ modules: - properties - scm - assignednode - - trigger_timed + - trigger_pollscm - builders - publisher_coverage @@ -17,7 +17,7 @@ main: disabled: '@DISABLED@' trigger: - timed: '*/15 * * * *' + pollscm: '*/15 * * * *' builders: - copy_bundle @@ -167,7 +167,7 @@ modules: - properties - scm - assignednode - - trigger_timed + - trigger_pollscm - builders - publisher_venv @@ -179,7 +179,7 @@ main: disabled: '@DISABLED@' trigger: - timed: '@midnight' + pollscm: '@midnight' builders: - venv @@ -196,7 +196,7 @@ modules: - properties - scm - assignednode - - trigger_timed + - trigger_pollscm - builders - publisher_docs @@ -208,7 +208,7 @@ main: disabled: '@DISABLED@' trigger: - timed: '*/15 * * * *' + pollscm: '*/15 * * * *' builders: - copy_bundle