我正在创建一个构建后操作的 Jenkins 插件。我希望插件读取作业配置页面中“Root POM”字段的值。我一直在查看hudson.model.AbstractBuild的 Javadocs并尝试 getBuildVariables()、getEnvironment() 等,但我没有看到任何相关内容。
我想作为最后的手段,我可以配置我的插件以提示用户输入 root pom,但问题是管理层想要一个可以在每次构建时自动部署的插件,而不需要用户进行任何操作。
我正在创建一个构建后操作的 Jenkins 插件。我希望插件读取作业配置页面中“Root POM”字段的值。我一直在查看hudson.model.AbstractBuild的 Javadocs并尝试 getBuildVariables()、getEnvironment() 等,但我没有看到任何相关内容。
我想作为最后的手段,我可以配置我的插件以提示用户输入 root pom,但问题是管理层想要一个可以在每次构建时自动部署的插件,而不需要用户进行任何操作。
你的意思是你想要一个插件来读取另一个插件(maven)的配置吗?如果是这样,我相信你应该使用类似的东西
Jenkins.getInstance().getDescriptor(RequiredDesc.class);
您需要的类可能是 hudson/maven/Maven3Builder,具体取决于您要执行的操作。
更新
我错了。这似乎对我有用:
if (build instanceof hudson.maven.MavenModuleSetBuild) {
try {
hudson.maven.MavenModuleSetBuild b = (hudson.maven.MavenModuleSetBuild) build;
hudson.EnvVars envVars = b.getEnvironment(listener);
String rootPOM = b.getProject().getRootPOM(envVars);
listener.getLogger().println("rootPOM: " + rootPOM);
} catch (Exception e) {
listener.getLogger().println("ERROR: " + e.getMessage());
}
}