Implemented max keep builds property on jobs
Change-Id: I2c0a436a828d333817ceb108c5725c0424136527
diff --git a/README.rst b/README.rst
old mode 100644
new mode 100755
index 44eedef..5b6f7ea
--- a/README.rst
+++ b/README.rst
@@ -306,6 +306,23 @@
- repository: base
file: macros/git.groovy
+Setting job max builds to keep (amount of last builds stored on Jenkins master)
+
+.. code-block:: yaml
+
+ jenkins:
+ client:
+ job:
+ my-amazing-job:
+ type: workflow
+ discard:
+ build:
+ keep_num: 5
+ keep_days: 5
+ artifact:
+ keep_num: 6
+ keep_days: 6
+
Purging undefined jobs from Jenkins
.. code-block:: yaml
diff --git a/jenkins/files/jobs/_parameters.xml b/jenkins/files/jobs/_parameters.xml
old mode 100644
new mode 100755
index 9015e41..d803a25
--- a/jenkins/files/jobs/_parameters.xml
+++ b/jenkins/files/jobs/_parameters.xml
@@ -21,6 +21,16 @@
{%- endfor %}
</parameterDefinitions>
</hudson.model.ParametersDefinitionProperty>
+ {%- if job.discard is defined %}
+ <jenkins.model.BuildDiscarderProperty>
+ <strategy class="hudson.tasks.LogRotator">
+ <daysToKeep>{{ job.discard.get('build',{}).get('keep_days',-1) }}</daysToKeep>
+ <numToKeep>{{ job.discard.get('build',{}).get('keep_num',-1) }}</numToKeep>
+ <artifactDaysToKeep>{{ job.discard.get('artifact',{}).get('keep_days',-1) }}</artifactDaysToKeep>
+ <artifactNumToKeep>{{ job.discard.get('artifact',{}).get('keep_num',-1) }}</artifactNumToKeep>
+ </strategy>
+ </jenkins.model.BuildDiscarderProperty>
+ {%- endif %}
{%- endif %}
{#-
vim: syntax=jinja sw=2 ts=2