我正在尝试开发我的第一个Jenkins插件,我不确定几个问题:
到目前为止,我有一个创建新作业类型的类。它基本上看起来就像Jenkins的FreeStyleProject,它工作正常。
1)现在我希望插件在作业的配置页面(新类型)上创建一个附加部分。我尝试在资源包中添加config.jelly,但它不起作用。然后我从resources / hudson / model / Project复制了Jenkins的configure-entries.jelly,并在此处添加了我的信息。可以这样做吗?
2)此外,我想在项目页面添加一些内容。我发现可以使用一个名为jobMain.jelly的文件,但只是在资源包中创建文件不会改变任何东西。所以我从resources / hudson / model / AbstractProject复制了Jenkins的main.jelly并在这里添加了一些内容。这可以吗?它有效,但我不确定以后是否会遇到麻烦。
提前谢谢!
答案 0 :(得分:1)
配置页
@DataBoundConstructor
扩展Builder类的类的示例:
package tryBuilder.tryBuilder;
import org.kohsuke.stapler.DataBoundConstructor;
import hudson.Extension;
import hudson.model.AbstractProject;
import hudson.model.FreeStyleProject;
import hudson.tasks.BuildStepDescriptor;
import hudson.tasks.Builder;
import org.kohsuke.stapler.DataBoundConstructor;
public class BuilderExample extends Builder {
@DataBoundConstructor
public BuilderExample() {
}
@Extension
public static class Descriptor extends BuildStepDescriptor<Builder> {
@Override
public boolean isApplicable(Class<? extends AbstractProject> jobType) {
return FreeStyleProject.class.isAssignableFrom(jobType);
}
@Override
public String getDisplayName() {
return "BuildstepName";
}
}
}
方法getDisplayName()
中返回的String(现在为“BuildstepName”)确定了Jenkins中构建步骤或操作的名称。
添加到项目页面
getProjectAction(AbstractProject<?, ?> project)
方法并返回上面创建的实现Action的类