From 722a303f9aa299725477789e819591e28d5f2c63 Mon Sep 17 00:00:00 2001 From: Marcos Diez Date: Tue, 17 Sep 2019 10:12:27 -0300 Subject: [PATCH] upsert_job Change-Id: I1f389baf1c530b6e04860569deb5aca51bf781c2 --- jenkins/__init__.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/jenkins/__init__.py b/jenkins/__init__.py index 04db14d..6bafcac 100755 --- a/jenkins/__init__.py +++ b/jenkins/__init__.py @@ -1170,6 +1170,18 @@ class Jenkins(object): if not self.job_exists(name): raise JenkinsException(exception_message % name) + def upsert_job(self, name, config_xml): + '''Create a new Jenkins job or reconfigures it if it exists + + :param name: Name of Jenkins job, ``str`` + :param config_xml: config file text, ``str`` + ''' + + if self.job_exists(name): + self.reconfig_job(name, config_xml) + else: + self.create_job(name, config_xml) + def create_job(self, name, config_xml): '''Create a new Jenkins job