Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-30130

Reload/update scriptler catalog from disk without need to restart Jenkins server

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Minor Minor
    • scriptler-plugin
    • None

      Scriprler scripts are code. As such, they are frequently managed using a code management repository SVN, git etc. However, when a new scriptlet is checked out in the scripts folder, it does not become available until the Jenkins server is restarted. Restarting the server in a busy environment, is a hassle. Please, provide an option to reload/update the local Scriptler catalog (the config.xml file) from disk without the need to restart the server. Something similar to the job reload approach should be fine!

          [JENKINS-30130] Reload/update scriptler catalog from disk without need to restart Jenkins server

          Filat added a comment -

           

          Please add this method. It might contain the following code.

                import hudson.XmlFile;
                import org.jenkinsci.plugins.scriptler.ScriptlerManagement;
                import org.jenkinsci.plugins.scriptler.config.ScriptSet;
                import org.jenkinsci.plugins.scriptler.config.ScriptlerConfiguration;
                XmlFile f = ScriptlerConfiguration.getXmlFile();
                if (f.exists()) {
                  ScriptlerConfiguration file_sc = (ScriptlerConfiguration) f.read();
                  ScriptlerConfiguration sc = ScriptlerConfiguration.getConfiguration();
                  Set<Script> set = file_sc.getScripts();
                  set.each{script ->
                    sc.addOrReplace(script);        
                  }
                } 

           

           

          Filat added a comment -   Please add this method. It might contain the following code. import hudson.XmlFile; import org.jenkinsci.plugins.scriptler.ScriptlerManagement; import org.jenkinsci.plugins.scriptler.config.ScriptSet; import org.jenkinsci.plugins.scriptler.config.ScriptlerConfiguration; XmlFile f = ScriptlerConfiguration.getXmlFile(); if (f.exists()) { ScriptlerConfiguration file_sc = (ScriptlerConfiguration) f.read(); ScriptlerConfiguration sc = ScriptlerConfiguration.getConfiguration(); Set<Script> set = file_sc.getScripts(); set.each{script -> sc.addOrReplace(script); } }    

            domi Dominik Bartholdi
            ioannis Ioannis Moutsatsos
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: