我为Jenkins编写了一个自定义插件,它就像一个带有自由风格项目的魅力。但是,当我创建一个新的多配置项目时,插件不再存在于"构建步骤组合框#34;中。
任何人都有这方面的经验吗?是否有任何要求插件与多配置项目兼容?
答案 0 :(得分:3)
您是否尝试过关注this note?
缺少构建器 如果您无法在条件构建步骤中添加所选的构建器(因为它在下拉列表中不可用),那么很可能是因为构建器未提供@DataBoundConstructor构造函数和/或者描述符不扩展hudson.tasks.BuildStepDescriptor。对于非程序员:您想要使用的插件尚未遵循最新的Jenkins编码指南。如果没有这个,条件buildstep插件将无法使用它。
如果您已获得描述符,请检查this
在我们为Builder编写描述符时,为方便起见,我们扩展了BuildStepDecriptor。然后我们必须实现两种方法: isApplicable 将用于询问描述符当前项目是否可以使用它管理的组件。 您可能希望您的插件仅适用于FreeStyle项目,但不适用于Maven或Matrix项目。
getDisplayName 允许我们在用户配置作业时声明构建步骤选择框中使用的标签。请记住,当我们谈论国际化时,
因此,您的描述符应该看起来像
@Extension
public static class Descriptor extends BuildStepDescriptor<Builder> {
@Override
public boolean isApplicable(Class<? extends AbstractProject> jobType) {
return hudson.model.FreeStyleProject.class.isAssignableFrom(jobType)
|| hudson.matrix.MatrixProject.class.isAssignableFrom(jobType);
}