diff --git a/src/main/java/org/jenkinsci/plugins/postbuildscript/PostBuildScript.java b/src/main/java/org/jenkinsci/plugins/postbuildscript/PostBuildScript.java index d5acc73..374a37f 100644 --- a/src/main/java/org/jenkinsci/plugins/postbuildscript/PostBuildScript.java +++ b/src/main/java/org/jenkinsci/plugins/postbuildscript/PostBuildScript.java @@ -38,15 +38,19 @@ public BuildStepMonitor getRequiredMonitorService() { private List groovyScriptContentList = new ArrayList(); private List buildSteps; + private boolean scriptOnlyIfSuccess; + @DataBoundConstructor public PostBuildScript(List genericScriptFile, List groovyScriptFile, List groovyScriptContent, + boolean scriptOnlyIfSuccess, List buildStep) { this.genericScriptFileList = genericScriptFile; this.groovyScriptFileList = groovyScriptFile; this.groovyScriptContentList = groovyScriptContent; this.buildSteps = buildStep; + this.scriptOnlyIfSuccess = scriptOnlyIfSuccess; } public MatrixAggregator createAggregator(MatrixBuild build, Launcher launcher, BuildListener listener) { @@ -82,7 +86,12 @@ protected void configure() { ).getInstance(ScriptExecutor.class); try { - return processScripts(executor, build, launcher, listener); + if(scriptOnlyIfSuccess && build.getResult().isWorseThan(Result.SUCCESS)){ + listener.getLogger().println("[PostBuildScript] Build is not success : do not execute script"); + return false; + } else { + return processScripts(executor, build, launcher, listener); + } } catch (PostBuildScriptException pse) { listener.getLogger().println("[PostBuildScript] - [Error] - Problems occurs: " + pse.getMessage()); build.setResult(Result.FAILURE); diff --git a/src/main/resources/org/jenkinsci/plugins/postbuildscript/PostBuildScript/config.jelly b/src/main/resources/org/jenkinsci/plugins/postbuildscript/PostBuildScript/config.jelly index c538f9a..238d49f 100644 --- a/src/main/resources/org/jenkinsci/plugins/postbuildscript/PostBuildScript/config.jelly +++ b/src/main/resources/org/jenkinsci/plugins/postbuildscript/PostBuildScript/config.jelly @@ -90,5 +90,9 @@ + + + - \ No newline at end of file +