1

我正在创建一个构建后操作的 Jenkins 插件。我希望插件读取作业配置页面中“Root POM”字段的值。我一直在查看hudson.model.AbstractBuild的 Javadocs并尝试 getBuildVariables()、getEnvironment() 等,但我没有看到任何相关内容。

我想作为最后的手段,我可​​以配置我的插件以提示用户输入 root pom,但问题是管理层想要一个可以在每次构建时自动部署的插件,而不需要用户进行任何操作。

4

1 回答 1

0

你的意思是你想要一个插件来读取另一个插件(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());
        }
    }
于 2013-08-20T05:41:52.213 回答