Jenkins Ownership Plugin

Plugin provides explicit ownership for jobs and slave nodes.
https://wiki.jenkins-ci.org/display/JENKINS/Ownership+Plugin

Change-Id: I6c47fb43f812c1ef15daecd53a52777dbd04805b
This commit is contained in:
Alexander Braverman 2013-10-11 12:53:24 +03:00
parent 72d32db155
commit e4b366bdc2
2 changed files with 37 additions and 0 deletions

View File

@ -36,6 +36,42 @@ import xml.etree.ElementTree as XML
import jenkins_jobs.modules.base
def ownership(parser, xml_parent, data):
"""yaml: ownership
Plugin provides explicit ownership for jobs and slave nodes.
Requires the Jenkins `Ownership Plugin.
<https://wiki.jenkins-ci.org/display/JENKINS/Ownership+Plugin>`_
:arg bool enabled: whether ownership enabled (default : true)
:arg str owner: the owner of job
:arg list co-owners: list of job co-owners
Example::
properties:
- ownership:
owner: abraverm
co-owners:
- lbednar
- edolinin
"""
ownership_plugin = \
XML.SubElement(xml_parent,
'com.synopsys.arc.'
'jenkins.plugins.ownership.jobs.JobOwnerJobProperty')
ownership = XML.SubElement(ownership_plugin, 'ownership')
owner = str(data.get('enabled', True)).lower()
XML.SubElement(ownership, 'ownershipEnabled').text = owner
XML.SubElement(ownership, 'primaryOwnerId').text = data.get('owner')
coowners = data.get('co-owners', [])
if coowners:
coownersIds = XML.SubElement(ownership, 'coownersIds')
for coowner in coowners:
XML.SubElement(coownersIds, 'string').text = coowner
def promoted_build(parser, xml_parent, data):
"""yaml: promoted-build
Marks a build for promotion. A promotion process with an identical

View File

@ -84,6 +84,7 @@ setuptools.setup(
'extended-choice=jenkins_jobs.modules.properties:extended_choice',
'github=jenkins_jobs.modules.properties:github',
'inject=jenkins_jobs.modules.properties:inject',
'ownership=jenkins_jobs.modules.properties:ownership',
'priority-sorter=jenkins_jobs.modules.properties:priority_sorter',
'promoted-build=jenkins_jobs.modules.properties:promoted_build',
'throttle=jenkins_jobs.modules.properties:throttle',