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

Sounds plugin configuration "System command" is empty

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Component/s: sounds-plugin
    • Labels:
      None
    • Environment:
      Jenkins 1.463, Jenkins Sounds plugin 0.4
    • Similar Issues:

      Description

      Jenkins 1.463, Jenkins Sounds Plugin 0.4.

      On the global configuration page, the value of input field "System command" is not saved. Set the value directly in net.hurstfrost.hudson.sounds.HudsonSoundsNotifier.xml and load config from disk seems to temporarily solve the problem. But eventually it becomes emtpy again if the configuration is changed and saved.

      Visiting the configure page causes the following stacktrace in log.

      18.05.2012 15:41:25 hudson.ExpressionFactory2$JexlExpression evaluate
      WARNUNG: Caught exception evaluating: descriptor.getPropertyType(instance,field).itemTypeDescriptorOrDie. Reason: java.lang.reflect.InvocationTargetException
      java.lang.reflect.InvocationTargetException
              at sun.reflect.GeneratedMethodAccessor502.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at org.apache.commons.jexl.util.PropertyExecutor.execute(PropertyExecutor.java:125)
              at org.apache.commons.jexl.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectImpl.java:314)
              at org.apache.commons.jexl.parser.ASTArrayAccess.evaluateExpr(ASTArrayAccess.java:185)
              at org.apache.commons.jexl.parser.ASTIdentifier.execute(ASTIdentifier.java:75)
              at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83)
              at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57)
              at org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:51)
              at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80)
              at hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:72)
              at org.apache.commons.jelly.tags.core.CoreTagLibrary$3.run(CoreTagLibrary.java:134)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
              at org.apache.commons.jelly.tags.core.WhenTag.doTag(WhenTag.java:46)
              at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
              at org.apache.commons.jelly.tags.core.ChooseTag.doTag(ChooseTag.java:38)
              at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
              at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
              at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
              at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
              at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
              at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
              at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
              at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
              at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
              at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
              at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
              at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
              at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
              at org.apache.commons.jelly.tags.core.WhenTag.doTag(WhenTag.java:46)
              at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
              at org.apache.commons.jelly.tags.core.ChooseTag.doTag(ChooseTag.java:38)
              at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
              at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
              at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
              at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
              at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81)
              at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:146)
              at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
              at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
              at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
              at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
              at org.apache.commons.jelly.tags.core.OtherwiseTag.doTag(OtherwiseTag.java:41)
              at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
              at org.apache.commons.jelly.tags.core.ChooseTag.doTag(ChooseTag.java:38)
              at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
              at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
              at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:150)
              at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
              at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
              at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
              at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
              at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
              at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
              at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
              at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.apache.commons.jelly.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:98)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
              at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
              at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
              at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:270)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
              at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
              at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
              at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
              at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
              at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81)
              at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:63)
              at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:53)
              at org.kohsuke.stapler.jelly.JellyFacet$1.dispatch(JellyFacet.java:95)
              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 net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:197)
              at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:171)
              at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:86)
              at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:84)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
              at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:66)
              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.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
              at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
              at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
              at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
              at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
              at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
              at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:63)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
              at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
              at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
              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:662)
      Caused by: java.lang.AssertionError: null is missing its descriptor in public hudson.util.CopyOnWriteList hudson.plugins.warnings.WarningsDescriptor.getParsers(). See https://wiki.jenkins-ci.org/display/JENKINS/My+class+is+missing+descriptor
              at hudson.model.Descriptor$PropertyType.getItemTypeDescriptorOrDie(Descriptor.java:198)
              ... 171 more
      

        Attachments

          Activity

          Hide
          oxcafebabe oxcafebabe added a comment -

          I've pinned it down to 1.445 that makes the breaking change:

          JSON in version 1.444

          {
            "pipeTimeoutSecs": "5",
            "playMethod": {"value": "PIPE"},
            "selectedSound": "",
            "sound": "",
            "soundArchive": "file:/home/ed/Workspace/sounds-plugin/target/classes/sound-archive.zip",
            "systemCommand": "cmd"
          }
          

          JSON in version 1.445

          {
            "playMethod":     {
              "pipeTimeoutSecs": "5",
              "systemCommand": "cmd",
              "value": "PIPE"
            },
            "selectedSound": "",
            "sound": "",
            "soundArchive": "file:/home/ed/Workspace/sounds-plugin/target/classes/sound-archive.zip"
          }
          

          but I can't identify what the change was. The release notes don't show anything that seems relevant:

          What's new in 1.445 (2011/12/26)

          • CLI now supports using HTTP proxy for tunneling its TCP/IP connection.
          • CLI now supports routing TCP/IP requests without going through HTTP reverse proxy.
          • If reload fails, don't let the partially loaded state running, or risk the user overwriting the configs they have. (issue 11204)
          • Update center UI improvement. "Install" button is now always visisble.
          • Configuration UI improvement. "Save" button is always visible.
          • Fixed a bug where a large output from Maven can cause module log output to go out of sync with module build log files.
          • Confusing error message when the --username option is used on the system with the .ssh directory. (issue 11873)
          • Fixed prematurely re-drawn matrix test result graph.

          and mvn dependency:tree differences seem insignificant:

          diff 444-dep-tree 445-dep-tree 
          13,14c13,14
          < [INFO] +- org.jenkins-ci.main:jenkins-war:war:1.444:test
          < [INFO] +- org.jenkins-ci.main:jenkins-core:jar:1.444:provided
          ---
          > [INFO] +- org.jenkins-ci.main:jenkins-war:war:1.445:test
          > [INFO] +- org.jenkins-ci.main:jenkins-core:jar:1.445:provided
          16c16
          < [INFO] |  +- org.jenkins-ci.main:cli:jar:1.444:provided
          ---
          > [INFO] |  +- org.jenkins-ci.main:cli:jar:1.445:provided
          82c82
          < [INFO] |  +- org.jenkins-ci:memory-monitor:jar:1.5:provided
          ---
          > [INFO] |  +- org.jenkins-ci:memory-monitor:jar:1.7:provided
          104,105c104,105
          < [INFO] +- org.jenkins-ci.main:jenkins-test-harness:jar:1.444:test
          < [INFO] |  +- org.jenkins-ci.main:jenkins-war:jar:war-for-test:1.444:test
          ---
          > [INFO] +- org.jenkins-ci.main:jenkins-test-harness:jar:1.445:test
          > [INFO] |  +- org.jenkins-ci.main:jenkins-war:jar:war-for-test:1.445:test
          109c109
          < [INFO] |  +- org.jenkins-ci.main:maven-plugin:jar:1.444:test
          ---
          > [INFO] |  +- org.jenkins-ci.main:maven-plugin:jar:1.445:test
          184c184
          < [INFO] +- org.jenkins-ci.main:ui-samples-plugin:jar:1.444:test
          ---
          > [INFO] +- org.jenkins-ci.main:ui-samples-plugin:jar:1.445:test
          192,193c192,193
          < [INFO] Finished at: Tue May 21 15:11:23 BST 2013
          < [INFO] Final Memory: 84M/1281M
          ---
          > [INFO] Finished at: Tue May 21 15:10:58 BST 2013
          > [INFO] Final Memory: 85M/1281M
          

          I'm not sure whether to switch on Hudson.getVersion(), or auto-sense from the JSON object sturcture.

          Show
          oxcafebabe oxcafebabe added a comment - I've pinned it down to 1.445 that makes the breaking change: JSON in version 1.444 { "pipeTimeoutSecs" : "5" , "playMethod" : { "value" : "PIPE" }, "selectedSound" : "", "sound" : "", "soundArchive" : "file:/home/ed/Workspace/sounds-plugin/target/classes/sound-archive.zip" , "systemCommand" : "cmd" } JSON in version 1.445 { "playMethod" : { "pipeTimeoutSecs" : "5" , "systemCommand" : "cmd" , "value" : "PIPE" }, "selectedSound" : "", "sound" : "", "soundArchive" : "file:/home/ed/Workspace/sounds-plugin/target/classes/sound-archive.zip" } but I can't identify what the change was. The release notes don't show anything that seems relevant: What's new in 1.445 (2011/12/26) CLI now supports using HTTP proxy for tunneling its TCP/IP connection. CLI now supports routing TCP/IP requests without going through HTTP reverse proxy. If reload fails, don't let the partially loaded state running, or risk the user overwriting the configs they have. (issue 11204) Update center UI improvement. "Install" button is now always visisble. Configuration UI improvement. "Save" button is always visible. Fixed a bug where a large output from Maven can cause module log output to go out of sync with module build log files. Confusing error message when the --username option is used on the system with the .ssh directory. (issue 11873) Fixed prematurely re-drawn matrix test result graph. and mvn dependency:tree differences seem insignificant: diff 444-dep-tree 445-dep-tree 13,14c13,14 < [INFO] +- org.jenkins-ci.main:jenkins-war:war:1.444:test < [INFO] +- org.jenkins-ci.main:jenkins-core:jar:1.444:provided --- > [INFO] +- org.jenkins-ci.main:jenkins-war:war:1.445:test > [INFO] +- org.jenkins-ci.main:jenkins-core:jar:1.445:provided 16c16 < [INFO] | +- org.jenkins-ci.main:cli:jar:1.444:provided --- > [INFO] | +- org.jenkins-ci.main:cli:jar:1.445:provided 82c82 < [INFO] | +- org.jenkins-ci:memory-monitor:jar:1.5:provided --- > [INFO] | +- org.jenkins-ci:memory-monitor:jar:1.7:provided 104,105c104,105 < [INFO] +- org.jenkins-ci.main:jenkins-test-harness:jar:1.444:test < [INFO] | +- org.jenkins-ci.main:jenkins-war:jar:war- for -test:1.444:test --- > [INFO] +- org.jenkins-ci.main:jenkins-test-harness:jar:1.445:test > [INFO] | +- org.jenkins-ci.main:jenkins-war:jar:war- for -test:1.445:test 109c109 < [INFO] | +- org.jenkins-ci.main:maven-plugin:jar:1.444:test --- > [INFO] | +- org.jenkins-ci.main:maven-plugin:jar:1.445:test 184c184 < [INFO] +- org.jenkins-ci.main:ui-samples-plugin:jar:1.444:test --- > [INFO] +- org.jenkins-ci.main:ui-samples-plugin:jar:1.445:test 192,193c192,193 < [INFO] Finished at: Tue May 21 15:11:23 BST 2013 < [INFO] Final Memory: 84M/1281M --- > [INFO] Finished at: Tue May 21 15:10:58 BST 2013 > [INFO] Final Memory: 85M/1281M I'm not sure whether to switch on Hudson.getVersion() , or auto-sense from the JSON object sturcture.
          Hide
          zhh Hua Zhang added a comment -

          I personally think auto-sense is a little bit better than Hudson.getVersion(). Or is it possible to reorgnize the config page, so that the same json structure can be produced for all versions?

          Show
          zhh Hua Zhang added a comment - I personally think auto-sense is a little bit better than Hudson.getVersion(). Or is it possible to reorgnize the config page, so that the same json structure can be produced for all versions?
          Hide
          deniscostadsc Denis Costa added a comment -

          Hi everyone.
          This issue is a big deal for me, so I'm willing to pay USD 5.00 for it.
          This offer is registered on FreedomSponsors (http://www.freedomsponsors.org/core/issue/315/sounds-plugin-configuration-system-command-is-empty).
          If you solve it (according to the acceptance criteria described there), please register on FreedomSponsors and mark it as resolved there
          I'll then check it out and gladly pay up!

          Oh, and if anyone else also wants throw in a few bucks on this, you should check out FreedomSponsors!

          Show
          deniscostadsc Denis Costa added a comment - Hi everyone. This issue is a big deal for me, so I'm willing to pay USD 5.00 for it. This offer is registered on FreedomSponsors ( http://www.freedomsponsors.org/core/issue/315/sounds-plugin-configuration-system-command-is-empty ). If you solve it (according to the acceptance criteria described there), please register on FreedomSponsors and mark it as resolved there I'll then check it out and gladly pay up! Oh, and if anyone else also wants throw in a few bucks on this, you should check out FreedomSponsors!
          Hide
          cafebabe Ed Hurst-Frost added a comment -

          New version 0.4.1 : Switches on Hudson.getVersion() to correctly parse POST to /configure.

          Show
          cafebabe Ed Hurst-Frost added a comment - New version 0.4.1 : Switches on Hudson.getVersion() to correctly parse POST to /configure.
          Hide
          deniscostadsc Denis Costa added a comment -
          Show
          deniscostadsc Denis Costa added a comment - Hey I have to pay some one! Plz get your money here: http://freedomsponsors.org/core/issue/315/sounds-plugin-configuration-system-command-is-empty

            People

            • Assignee:
              oxcafebabe oxcafebabe
              Reporter:
              zhh Hua Zhang
            • Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: