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

Active Choices Reactive Parameter Groovy script returning String instead of List

      I have an Active Choices parameter defined: It is an Active Choices Reactive parameter, where I am simply returning a list of character strings via the Groovy script (i.e: return ['example1','example2']) that will be used to create some check boxes. I notice from the documentation that the way I have formatted this should return a List. I have also verified that this does return a List in a Groovy web console.

      Now, the problem occurs when I attempt to index the List later on in my Jenkinsfile. If my List contained ["example1","example2"], then list[0] would return "e" instead of "example1". It looked like my List was actually a String instead. I debugged the parameter and found that it actually was a String type.

      I am wondering why my parameter is being returned as a String instead of a List, as it appears that the way I have set it up should return a List, which I should then be able to index.

       

          [JENKINS-58219] Active Choices Reactive Parameter Groovy script returning String instead of List

          Brett Hand added a comment -

          I also suspected the parameter was actually a String because I was able to use the tokenize() method on it. I would not be able to do this if the returned parameter were a List.

          Brett Hand added a comment - I also suspected the parameter was actually a String because I was able to use the tokenize() method on it. I would not be able to do this if the returned parameter were a List.

          bhand14 AC parameters have not been tested in use with Jenkinsfile and we only have experience using them in 'freestyle' type builds. Nonetheless, in these cases returning a  list of Strings is required for proper display in the build form UI. The parameters are passed to the build as text with the selected options as a comma separated String. You may need to tokenize this string to return a list. Note that 'splitting' a string with Groovy returns a String[] not a list

          I hope this helps. And any experience with using AC parameters in jenkinsfile is always useful (for future reference). Thank you!

          Ioannis Moutsatsos added a comment - bhand14 AC parameters have not been tested in use with Jenkinsfile and we only have experience using them in 'freestyle' type builds. Nonetheless, in these cases returning a  list of Strings is required for proper display in the build form UI. The parameters are passed to the build as text with the selected options as a comma separated String. You may need to tokenize this string to return a list. Note that 'splitting' a string with Groovy returns a String[] not a list I hope this helps. And any experience with using AC parameters in jenkinsfile is always useful (for future reference). Thank you!

            kinow Bruno P. Kinoshita
            bhand14 Brett Hand
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: