Compare jobs files with their hash and update templates
Change-Id: I6e739248892451332a3fb6c32be09104535e49e5
diff --git a/_grains/jenkins.py b/_grains/jenkins.py
new file mode 100644
index 0000000..b8f85d7
--- /dev/null
+++ b/_grains/jenkins.py
@@ -0,0 +1,24 @@
+#!/usr/bin/env python
+
+import json
+
+def main():
+ output = { "jenkins_plugins" : {} }
+
+ list_plugin_groovy = """\
+ pluginList = []
+ Jenkins.instance.pluginManager.plugins.each{ pluginList << ("'${it.shortName}@${it.version}'")}
+ print pluginList
+ """
+ call_result = __salt__['jenkins_common.call_groovy_script'](list_plugin_groovy, [])
+
+ plugins = json.loads(call_result)
+
+ for plugin in plugins:
+ plugin_fields = plugin.split('@')
+ output["jenkins_plugins"][plugin_fields[0]] = {"version": plugin_fields[1]}
+
+ if output:
+ return output
+ else:
+ return None