我目前正在开发我的第一个 Jenkins 插件。
我需要在作业页面上有一个通过 java 方法填充的下拉菜单,但是 jelly 和 java 文件似乎不能一起正常工作。
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>
Java类.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));
}
}
}
当我运行它时,作业页面上有一个空的下拉菜单。我可能做错了什么?