【发布时间】:2014-12-30 13:32:57
【问题描述】:
我正在编写包含 2 个构建器(builderA 和 builderB)的 Jenkins 插件 builderA 有几个输入字段,将在 builderB 之前添加到 Jenkins 作业中 builderB 没有输入
我在builderB.perform(AbstractBuild build, Launcher launcher, BuildListener listener)期间使用以下代码从builderA中提取信息
//loop on all the builders in this project and find BuilderA
//from there we taking the CI/Release
String component;
String version;
Project buildProject = (Project) build.getProject();
List<Builder> blist = buildProject.getBuilders();
for (Builder b : blist) {
if (b instanceof BuilderA) {
listener.getLogger().println("BuilderA was found!!);
BuilderA ba = (BuilderA) b;
component = ba.getComponent();
version = ba.getVersion();
break;
}
}
如果我创建 Freestyle 项目,这将非常有用。
如果我创建 Maven 项目 行:Project buildProject = (Project) build.getProject(); throws" java.lang.ClassCastException: hudson. maven.MavenModuleSet 无法转换为 hudson.model.Project
问题:如何获取Maven项目中的Builder列表。
【问题讨论】: