How to add list of configurable elements to a Jenkins plugin configuration 
page?

I have a list of configurable items. It should be able to grow dynamically 
and each item has 3 fields. There is initially one row, if that is 
populated I want to add a new empty row.

I have 2 Java files to store the config.
...
public class MainConfigRecorder {
 List<CustomConfig> customConfigs;
...
And the customConfig
...
public class CustomConfig {
 private String name;
 private String pattern;
 private String link;
 ...
 public String getLink()
 ...
 public void setLink(String link)
 ...
...

In the config.jelly I loop through the customConfigs:

...
  <j:forEach var="customConfig" items="${config.customConfigs}" 
indexVar="i">
    <f:block>
    <table cellspacing="5">
      <tr>
        <td width="200">
          <f:textbox name="customConfig[${i}].name" 
value="${customConfig.name}" />
...

Problem is when the config is saved! I cannot deserialize it to the Java 
objects.

I can see this when I inspect the HTML code in browser:

<input name="customIssues[0].name" type="text" class="setting-input   " 
value="">

When the form i ssubmitted and I debug:

public final class GitReleasenotesDescriptor extends 
BuildStepDescriptor<Publisher> {
...
 @Override
 public Publisher newInstance(StaplerRequest req, JSONObject formData)

I can see this in formData:

{"fromType":"fromFirstCommit","fromReference":"","toType":"toMaster","toRefeference":"","name":"name","pattern":"pattern","link":"link","stapler-class":"org.jenkinsci.plugins.grl.GitReleasenotesRecorder","kind":"org.jenkinsci.plugins.grl.GitReleasenotesRecorder"}

I did not expect:
..."name":"name","pattern":"pattern","link":"link"...
I was expecting:
..."customIssues": [{ "name":"name","pattern":"pattern","link":"link"}]...


Any suggestions?

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/e7c47e1a-808d-41e2-8214-ebd8e71d4406%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to