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

Wrong JSON syntax

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Component/s: scriptler-plugin
    • Labels:
    • Environment:
      OSX 10.7.3
      java version "1.6.0_31"
      Java(TM) SE Runtime Environment (build 1.6.0_31-b04-415-11M3635)
      Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01-415, mixed mode)
      Jenkins 1.460
    • Similar Issues:

      Description

      If I try adding a script with scriptler to a job I get the following exception:

      Failed to parse form data. Please report this problem as a bug
      JSON={"":"","builder":{"backupJobName":"","builderId":"","defineParams":false,"kind":"org.jenkinsci.plugins.scriptler.builder.ScriptlerBuilder","parameters":[

      {"name":"","value":""}

      ,

      {"name":"","value":""}

      ],"scriptlerScriptId":"testOutput.groovy","stapler-class":"org.jenkinsci.plugins.scriptler.builder.ScriptlerBuilder"},"core:apply":"","description":"","displayNameOrNull":"","name":"test","properties":{"hudson-model-ParametersDefinitionProperty":{},"org-jenkinsci-plugins-envinject-EnvInjectJobProperty":{},"stapler-class-bag":"true"},"scm":{"value":"0"}}

      net.sf.json.JSONException: JSONObject["defineParams"] is not a JSONObject.
      at net.sf.json.JSONObject.getJSONObject(JSONObject.java:1759)
      at org.jenkinsci.plugins.scriptler.util.UIHelper.extractParameters(UIHelper.java:22)
      at org.jenkinsci.plugins.scriptler.builder.ScriptlerBuilder$DescriptorImpl.newInstance(ScriptlerBuilder.java:161)
      at org.jenkinsci.plugins.scriptler.builder.ScriptlerBuilder$DescriptorImpl.newInstance(ScriptlerBuilder.java:109)
      at hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:912)
      at hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:899)
      at hudson.util.DescribableList.rebuildHetero(DescribableList.java:184)
      at hudson.model.Project.submit(Project.java:197)
      at hudson.model.Job.doConfigSubmit(Job.java:990)
      at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:665)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:288)
      at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:151)
      at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:90)
      at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:111)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:574)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659)
      at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:241)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:574)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:488)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:162)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
      at winstone.ServletConfiguration.execute(ServletConfiguration.java:248)
      at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:376)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
      at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:74)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at winstone.RequestDispatcher.forward(RequestDispatcher.java:331)
      at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:215)
      at winstone.RequestHandlerThread.run(RequestHandlerThread.java:138)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:680)

      The problem seems to be '"defineParams":false', which should be '"defineParams":"false"' (The boolean value is not placed inside quotes).

        Attachments

          Activity

          Hide
          domi Dominik Bartholdi added a comment -

          I'm not able to reproduce this issue

          the issue is not about the boolean, the problem is that [ {"":"","builder": ] should not be there at all, but thats nothing the plugin has anything to do with...

          • which version of the plugin do you use?
          • is this through the WebGUI or do you use any other API? XML, JSON, CLI?
          • does this always happen?
          • what else can you tell me about the configuration? do you have any wrapping step around the scriptler step? (e.g. conditional-build-step)?
          Show
          domi Dominik Bartholdi added a comment - I'm not able to reproduce this issue the issue is not about the boolean, the problem is that [ {"":"","builder": ] should not be there at all, but thats nothing the plugin has anything to do with... which version of the plugin do you use? is this through the WebGUI or do you use any other API? XML, JSON, CLI? does this always happen? what else can you tell me about the configuration? do you have any wrapping step around the scriptler step? (e.g. conditional-build-step)?
          Hide
          fschwab Florian Schwab added a comment - - edited
          • Scriptler Version: 2.2
          • WebGUI is used for configuring the job
          • It always happens

          I tried starting from scratch (deleted existing Jenkins config ~/.jenkins) and installed only the scriptler plugin. After creating a freestyle (also tried with Maven template) job with a scriptler build step (this build step is the only thing I changed) I get a slightly different error:

          JSON={"":"","builder":{"backupJobName":"","builderId":"","defineParams":false,"kind":"org.jenkinsci.plugins.scriptler.builder.ScriptlerBuilder","parameters":[

          {"name":"","value":""}

          ,

          {"name":"","value":""}

          ],"scriptlerScriptId":"testOutput.groovy","stapler-class":"org.jenkinsci.plugins.scriptler.builder.ScriptlerBuilder"},"core:apply":"","description":"","displayNameOrNull":"","name":"testJob","properties":{"hudson-model-ParametersDefinitionProperty":{},"stapler-class-bag":"true"},"scm":{"value":"1"}}

          As you can see the "builder" key is still present, but there is no other plugin or configuration that could interfere.

          Show
          fschwab Florian Schwab added a comment - - edited Scriptler Version: 2.2 WebGUI is used for configuring the job It always happens I tried starting from scratch (deleted existing Jenkins config ~/.jenkins) and installed only the scriptler plugin. After creating a freestyle (also tried with Maven template) job with a scriptler build step (this build step is the only thing I changed) I get a slightly different error: JSON={"":"","builder":{"backupJobName":"","builderId":"","defineParams":false,"kind":"org.jenkinsci.plugins.scriptler.builder.ScriptlerBuilder","parameters":[ {"name":"","value":""} , {"name":"","value":""} ],"scriptlerScriptId":"testOutput.groovy","stapler-class":"org.jenkinsci.plugins.scriptler.builder.ScriptlerBuilder"},"core:apply":"","description":"","displayNameOrNull":"","name":"testJob","properties":{"hudson-model-ParametersDefinitionProperty":{},"stapler-class-bag":"true"},"scm":{"value":"1"}} As you can see the "builder" key is still present, but there is no other plugin or configuration that could interfere.
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in jenkins
          User: imod
          Path:
          pom.xml
          src/main/java/org/jenkinsci/plugins/scriptler/util/UIHelper.java
          src/main/resources/org/jenkinsci/plugins/scriptler/builder/ScriptlerBuilder/config.jelly
          src/test/java/org/jenkinsci/plugins/scriptler/share/scriptlerweb/UIHelperTest.java
          src/test/resources/JENKINS-13518.json
          src/test/resources/simple1.json
          src/test/resources/simple2.json
          http://jenkins-ci.org/commit/scriptler-plugin/f754210dfca51bb0e5fb93ab59537748cd38501b
          Log:
          [FIXED JENKINS-13518] Wrong JSON syntax

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: imod Path: pom.xml src/main/java/org/jenkinsci/plugins/scriptler/util/UIHelper.java src/main/resources/org/jenkinsci/plugins/scriptler/builder/ScriptlerBuilder/config.jelly src/test/java/org/jenkinsci/plugins/scriptler/share/scriptlerweb/UIHelperTest.java src/test/resources/ JENKINS-13518 .json src/test/resources/simple1.json src/test/resources/simple2.json http://jenkins-ci.org/commit/scriptler-plugin/f754210dfca51bb0e5fb93ab59537748cd38501b Log: [FIXED JENKINS-13518] Wrong JSON syntax
          Hide
          dogfood dogfood added a comment -

          Integrated in plugins_scriptler #50
          [FIXED JENKINS-13518] Wrong JSON syntax (Revision f754210dfca51bb0e5fb93ab59537748cd38501b)

          Result = SUCCESS
          imod :
          Files :

          • src/test/resources/JENKINS-13518.json
          • src/test/java/org/jenkinsci/plugins/scriptler/share/scriptlerweb/UIHelperTest.java
          • src/test/resources/simple2.json
          • src/main/java/org/jenkinsci/plugins/scriptler/util/UIHelper.java
          • src/test/resources/simple1.json
          • src/main/resources/org/jenkinsci/plugins/scriptler/builder/ScriptlerBuilder/config.jelly
          • pom.xml
          Show
          dogfood dogfood added a comment - Integrated in plugins_scriptler #50 [FIXED JENKINS-13518] Wrong JSON syntax (Revision f754210dfca51bb0e5fb93ab59537748cd38501b) Result = SUCCESS imod : Files : src/test/resources/ JENKINS-13518 .json src/test/java/org/jenkinsci/plugins/scriptler/share/scriptlerweb/UIHelperTest.java src/test/resources/simple2.json src/main/java/org/jenkinsci/plugins/scriptler/util/UIHelper.java src/test/resources/simple1.json src/main/resources/org/jenkinsci/plugins/scriptler/builder/ScriptlerBuilder/config.jelly pom.xml

            People

            • Assignee:
              domi Dominik Bartholdi
              Reporter:
              fschwab Florian Schwab
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: