如何从Jenkins构建Groovy脚本中访问“标记”的构建状态

时间:2014-09-17 10:33:25

标签: groovy jenkins

我见过的解决方案向您展示了如何通过manager.build.result访问当前结果。但是,我配置了一个NUnit发布者,将构建标记为不稳定或失败。在这种情况下,当Groovy脚本在NUnit插件之后运行时,manager.build.result的值仍然成功。首先,我在哪里可以找到manager.build的文档?其次,如何访问构建的“标记”状态?

1 个答案:

答案 0 :(得分:0)

这就是为什么然后......

    protected final boolean performAllBuildSteps(BuildListener listener, Iterable<? extends BuildStep> buildSteps, boolean phase) throws InterruptedException, IOException {
        boolean r = true;
        for (BuildStep bs : buildSteps) {
            if ((bs instanceof Publisher && ((Publisher)bs).needsToRunAfterFinalized()) ^ phase)
                try {
                    if (!perform(bs,listener)) {
                        LOGGER.log(Level.FINE, "{0} : {1} failed", new Object[] {AbstractBuild.this, bs});
                        r = false;
                    }
                } catch (Exception e) {
                    reportError(bs, e, listener, phase);
                } catch (LinkageError e) {
                    reportError(bs, e, listener, phase);
                }
        }
        return r;
    }

在返回结果之前,看起来这个函数确实有用地将每个发布者的结果存储在局部变量中。因此,Groovy绝对没有办法确定构建完成后的结果,而不是在构建完成后显式运行。