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