Fixed import groovy, update site parameter
diff --git a/README.rst b/README.rst
index 2065890..44fe5ba 100644
--- a/README.rst
+++ b/README.rst
@@ -98,6 +98,16 @@
         - name: rebuild
         - name: test-stability
 
+Jenkins with experimental plugin source support
+
+.. code-block:: yaml
+
+    jenkins:
+      master:
+        enabled: true
+        update_site_url: 'http://updates.jenkins-ci.org/experimental/update-center.json'
+
+
 Agent (former slave)
 --------------------
 
@@ -120,6 +130,7 @@
           private_key: |
             -----BEGIN PGP PRIVATE KEY BLOCK-----
             ...
+
 Client
 ------
 
diff --git a/jenkins/files/hudson.model.UpdateCenter.xml b/jenkins/files/hudson.model.UpdateCenter.xml
new file mode 100644
index 0000000..72a1189
--- /dev/null
+++ b/jenkins/files/hudson.model.UpdateCenter.xml
@@ -0,0 +1,8 @@
+{%- from "jenkins/map.jinja" import server with context %}
+<?xml version='1.0' encoding='UTF-8'?>
+<sites>
+  <site>
+    <id>default</id>
+    <url>{{ server.update_site_url }}</url>
+  </site>
+</sites>
\ No newline at end of file
diff --git a/jenkins/files/jobs/workflow.xml b/jenkins/files/jobs/workflow.xml
index 8533c88..aab96e8 100644
--- a/jenkins/files/jobs/workflow.xml
+++ b/jenkins/files/jobs/workflow.xml
@@ -1,14 +1,14 @@
 <?xml version='1.0' encoding='UTF-8'?>
 {%- from "jenkins/map.jinja" import client with context -%}
 {%- set job = salt['pillar.get']('jenkins:client:job:'+job_name) -%}
-{%- macro load_groovy_file() -%}
+{%- macro load_groovy_file() %}
 {%- set groovy_file='_jenkins/jobs/'+job.script.repository+'/'+job.script.file %}
 {%- include groovy_file %}
-{%- endmacro -%}
-{%- macro load_groovy_lib(lib) -%}
+{%- endmacro %}
+{%- macro load_groovy_lib(lib) %}
 {%- set groovy_file='_jenkins/jobs/'+lib.repository+'/'+lib.file %}
 {%- include groovy_file %}
-{%- endmacro -%}
+{%- endmacro %}
 <flow-definition plugin="workflow-job@2.5">
   <description>
     Salt generated project, do not edit. Changes will be overwritten.
@@ -48,17 +48,19 @@
     {%- endif %}
   </properties>
   <definition class="org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition" plugin="workflow-cps@2.12">
-    <script>
-      {%- if job.libs is defined %}
-      {%- for lib in job.libs %}
-      {{- load_groovy_lib(lib)|e }}
-      {%- endfor %}
-      {%- endif %}
-      {%- if job.script.file is defined %}
-      {{- load_groovy_file()|e }}
-      {%- else %}
-      {{- job.script.get('content', '')|e }}
-      {%- endif %}
+    <script>// libraries
+{%- if job.libs is defined %}
+{%- for lib in job.libs %}
+{{ load_groovy_lib(lib)|e }}
+{%- endfor %}
+{%- endif %}
+// workflow
+
+{%- if job.script.file is defined %}
+{{ load_groovy_file()|e }}
+{%- else %}
+{{ job.script.get('content', '')|e }}
+{%- endif %}
     </script>
     <sandbox>true</sandbox>
   </definition>
diff --git a/jenkins/map.jinja b/jenkins/map.jinja
index fec0724..27e57ba 100644
--- a/jenkins/map.jinja
+++ b/jenkins/map.jinja
@@ -4,11 +4,13 @@
         'pkgs': ['jenkins'],
         'service': 'jenkins',
         'config': '/etc/default/jenkins',
+        'update_site_url': 'http://updates.jenkins-ci.org/update-center.json'
     },
     'RedHat': {
         'pkgs': ['jenkins'],
         'service': 'jenkins',
         'config': '/etc/sysconfig/jenkins',
+        'update_site_url': 'http://updates.jenkins-ci.org/update-center.json'
     },
 }, merge=salt['pillar.get']('jenkins:master')) %}
 
diff --git a/jenkins/master/plugin.sls b/jenkins/master/plugin.sls
index 49fb6a0..6c618e9 100644
--- a/jenkins/master/plugin.sls
+++ b/jenkins/master/plugin.sls
@@ -12,8 +12,6 @@
     - wget http://localhost:{{ master.http.port }}/jnlpJars/jenkins-cli.jar
   - unless: "[ -f /root/jenkins-cli.jar ]"
   - cwd: /root
-  - require:
-    - service: jenkins_master_service
 
 {%- for plugin in master.plugins %}
 
diff --git a/jenkins/master/service.sls b/jenkins/master/service.sls
index 5145844..d01a001 100644
--- a/jenkins/master/service.sls
+++ b/jenkins/master/service.sls
@@ -27,7 +27,14 @@
   - template: jinja
   {%- endif %}
   - user: jenkins
-  - group: nogroup
+  - require:
+    - pkg: jenkins_packages
+
+/var/lib/jenkins/hudson.model.UpdateCenter.xml:
+  file.managed:
+  - source: salt://jenkins/files/hudson.model.UpdateCenter.xml
+  - template: jinja
+  - user: jenkins
   - require:
     - pkg: jenkins_packages
 
@@ -51,5 +58,6 @@
   - watch:
     - file: jenkins_{{ master.config }}
     - file: /var/lib/jenkins/config.xml
+    - file: /var/lib/jenkins/hudson.model.UpdateCenter.xml
 
 {%- endif %}