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