Extended Choice Parameter plugin

Plugin Information

Plugin ID extended-choice-parameter
Latest Release 0.21
Latest Release Date Jan 30, 2013
Sources Github
Support Eclipse Hudson Forum
Issue Tracking Eclipse Bugzilla

Adds extended functionality to Choice parameter.

Change Log

Version 0.1 (Jul 14, 2010)
  • Initial release

This plugin allows single select and multi select build parameters to be configured.

Here is a screenshot of the configuration page.

The 'value' field is a comma separated list of values for the single select or multi-select box.
This field can be left blank if the comma separated values need to be picked up from a properties file.
In that case the fields 'Property File' and 'Property Key' need to be filled in.

The 'default value' field is used to set the initial selection of the single-select or mult-select box.
in case of the multi-select box default value can be a comma separated string.
This field can be left blank if the default value needs to be picked up from a properties file.
In that case the fields 'Default Property File' and 'Default Property Key' need to be filled in.

Labels:

plugin-builds plugin-builds Delete
Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.
  1. Aug 17, 2010

    Greg Moore says:

    how about some text about why I would want to use this. No. I won't take the tim...

    how about some text about why I would want to use this. No. I won't take the time to download, install, and try it just to find out it may not be what I need.

    1. Aug 18, 2010

      Tom Hunter says:

      Agreed, could do with some notes on what it can do and how to use it. I downloa...

      Agreed, could do with some notes on what it can do and how to use it. I downloaded it anyway to have a look, but I'm still confused.. Here's a screenshot:

  2. Sep 29, 2010

    Stephane Bernigaud says:

    This plugin allows to do the long awaited dynamic choice parameter. Great idea. ...

    This plugin allows to do the long awaited dynamic choice parameter. Great idea.

    But why are results encapsulated with double quotes? This makes the file property of the plugin unusable.

    Ex: I am listing the tags of a svn project in file: TAGS=R1,R2,R3  . Parameter name is $mytag

    When I build the job, I can select $mytag but it contains "R1" and not R1. So the command to extract svn-path/project/$mytag will fail because svn-path/project/"R1" does not exist.

    Is there any way to avoid this? 

    (If I need double quotes, all I need is to include them in the values in the file)

    1. Oct 14, 2010

      Vimil Saju says:

      In the 0.4 release I have added a 'quote value' option which can be checked to q...

      In the 0.4 release I have added a 'quote value' option which can be checked to quote a value. By default the value is not quoted.
      The reason the previous version of this plugin quoted values is because version 1.361 of hudson did not quote values when sending it over to ant.
      I think this issue in hudson was fixed in a later version which is why the value is quoted twice, once by the plugin and once by hudson.

    2. Sep 14, 2011

      Ryan M says:

      How can this plugin allow for dynamic choices? I would like to do something simi...

      How can this plugin allow for dynamic choices? I would like to do something similar to what you explained, but I don't understand how that would work. I understand using a file to populate the values, but I don't understand how that file could be updated unless it was updated outside of Hudson/Jenkins. Is there a way to trigger that within Hudson/Jenkins?

      1. Sep 21, 2011

        Susan Duncan says:

        Ryan, you might want to mail the user list with this question to reach a wider u...

        Ryan, you might want to mail the user list with this question to reach a wider user base
        users@hudson.java.net

  3. Oct 28, 2010

    Mattias Melin says:

    Nice plugin. Is there any way to change the size of the listbox? I have many it...

    Nice plugin.

    Is there any way to change the size of the listbox?
    I have many items in my listbox and it is a multiselect listbox.

  4. Jan 17, 2011

    Michael Stiller says:

    The property file should be evaluated during the build step too, not only if con...

    The property file should be evaluated during the build step too, not only if configuring.

    1. Jan 18, 2011

      Vimil Saju says:

      The property file does get evaluated when a project is built. Can you elaborate...

      The property file does get evaluated when a project is built.
      Can you elaborate more on when you don't see the property file being evaluated?

    2. Jan 27, 2011

      Dean Thackery says:

      I'm seeing the same thing, with regards to setting the default for the list.&nbs...

      I'm seeing the same thing, with regards to setting the default for the list.  The list itself does appear to be updating with new values.

      If I change the default in the properties file, it only changes the default parameter if I go to the configure page, and save it. 

      Simply going to "Build Now" does not update the default choice in the list.  (I've only tried this with the single select, not the multi select settings)

      Also, I have tried this using the same properties file for both the default and the list, as well as having them in separate files.

  5. Mar 10, 2011

    John Mohan says:

    How do I enter the value for "property file" & "property key"? Can someone p...

    How do I enter the value for "property file" & "property key"? Can someone please explain?

    1. Mar 25, 2011

      Vimil Saju says:

      property file is the absolute path of the property file on the filesystem. prope...

      property file is the absolute path of the property file on the filesystem.
      property key is one of the keys in the property file

  6. May 10, 2011

    virtul says:

    Thank you for your plugin. However I encountered a little problem. When I trying...

    Thank you for your plugin. However I encountered a little problem.
    When I trying to trigger parametrized build remotely (i.e. from
    script) with extendend choice parameters, something like http://hudson_addr:8080/job/test_job/buildWithParameters?token=TOK&TEST_PARAMETER=test

    I get exception

    java.lang.IllegalArgumentException: Parameter TEST_PARAMETER was missing.
    
           at hudson.model.ParametersDefinitionProperty.buildWithParameters(ParametersDefinitionProperty.java:144)
           at hudson.model.AbstractProject.doBuildWithParameters(AbstractProject.java:1583)
           at sun.reflect.GeneratedMethodAccessor379.invoke(Unknown Source)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
           at java.lang.reflect.Method.invoke(Unknown Source)
           at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:282)
           at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:149)
           at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:88)
           at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:102)
           at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
           at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:562)
           at org.kohsuke.stapler.Stapler.invoke(Stapler.java:640)
           at org.kohsuke.stapler.MetaClass$7.doDispatch(MetaClass.java:242)
           at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
           at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:562)
    

    I looked in java code - and it seems that problem in function

    public ParameterValue createValue(StaplerRequest request) {
    
                   String value[] = request.getParameterValues(getName());
    
                   if (value == null) {
                           return getDefaultParameterValue();
                   }
                   return null;
           }
    

    Here for comparison implementation from StringParameterDefinition

    public ParameterValue createValue(StaplerRequest req) {
           String[] value = req.getParameterValues(getName());
           if (value == null) {
                   return getDefaultParameterValue();
           } else if (value.length != 1) {
                   throw new IllegalArgumentException("Illegal number of
    parameter values for " + getName() + ": " + value.length);
           } else
                   return new StringParameterValue(getName(), value[0]);
           }
    

    Could you please, fix that? Thanks in advance.

  7. Jun 28, 2011

    Corey Hammerton says:

    Can someone please give an example on how to use the Property File and Property ...

    Can someone please give an example on how to use the Property File and Property Key attributes, with more emphasis on how the Property Key values work?