Jenkins plugin: connect jelly and java

I am currently developing my first Jenkins plugin.
I need to have a drop down menu on the job page that is populated with a java method, but the jelly and java file don't work as expected together.

jobMain.jelly

<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form">
<h2>FooBar</h2>
    <f:entry field="selection" title="Choose">
        <f:select />
    </f:entry>
</j:jelly>

      


JavaClass.java

public class JavaClass implements Action {

private AbstractProject ap;

public JavaClass(AbstractProject ap) {
    this.ap = ap;
}

public String getIconFileName() {
    return null;
}

public String getDisplayName() {
    return "";
}

public String getUrlName() {
    return "something";
}

@Extension
public static final class DescriptorImpl extends TransientProjectActionFactory {

    String selection;

    public DescriptorImpl() throws IOException {
    }

    @DataBoundConstructor
    public DescriptorImpl(String selection) {
        this.selection = selection;
    }

    public ListBoxModel doFillSelectionItems() throws IOException {
        ListBoxModel model = new ListBoxModel();
        model.add("test");
        return model;
    }

    @Override
    public Collection<? extends Action> createFor(AbstractProject target) {
        return Arrays.asList(new JavaClass(target));
    }
  }
}

      


When I run this, there is an empty dropdown menu on the job page. What could I be doing wrong?

+3


source to share





All Articles