diff --git a/src/main/java/com/gitee/jenkins/trigger/GiteePushTrigger.java b/src/main/java/com/gitee/jenkins/trigger/GiteePushTrigger.java index 02664310aaea28c94eed1a40640bd803a4d3e5dd..86c67ab7e3ef13db18ed5dce204991545e11cde9 100644 --- a/src/main/java/com/gitee/jenkins/trigger/GiteePushTrigger.java +++ b/src/main/java/com/gitee/jenkins/trigger/GiteePushTrigger.java @@ -76,7 +76,7 @@ public class GiteePushTrigger extends Trigger> { private boolean triggerOnNoteRequest = true; private String noteRegex = ""; private transient boolean ciSkip = true; - private BuildInstructionFilterType buildInstructionFilterType; + private BuildInstructionFilterType buildInstructionFilterType = BuildInstructionFilterType.NONE; private boolean skipWorkInProgressPullRequest; private boolean ciSkipFroTestNotRequired; private boolean skipLastCommitHasBeenBuild; diff --git a/src/main/java/com/gitee/jenkins/trigger/handler/AbstractWebHookTriggerHandler.java b/src/main/java/com/gitee/jenkins/trigger/handler/AbstractWebHookTriggerHandler.java index 158b5082e9502d8fdbbe2f6734c64399f263286d..d86220e97dcc4104b990a57a8bcab37dd2679848 100644 --- a/src/main/java/com/gitee/jenkins/trigger/handler/AbstractWebHookTriggerHandler.java +++ b/src/main/java/com/gitee/jenkins/trigger/handler/AbstractWebHookTriggerHandler.java @@ -8,9 +8,7 @@ import com.gitee.jenkins.trigger.filter.BranchFilter; import com.gitee.jenkins.trigger.filter.BuildInstructionFilter; import com.gitee.jenkins.trigger.filter.PullRequestLabelFilter; import com.gitee.jenkins.util.LoggerUtil; -import hudson.model.Action; -import hudson.model.CauseAction; -import hudson.model.Job; +import hudson.model.*; import hudson.plugins.git.GitSCM; import hudson.plugins.git.RevisionParameterAction; import hudson.scm.SCM; @@ -19,7 +17,10 @@ import jenkins.triggers.SCMTriggerItem; import net.karneim.pojobuilder.GeneratePojoBuilder; import org.eclipse.jgit.transport.RemoteConfig; import org.eclipse.jgit.transport.URIish; +import org.jenkinsci.plugins.workflow.job.WorkflowRun; +import javax.servlet.ServletException; +import java.io.IOException; import java.net.URISyntaxException; import java.util.ArrayList; import java.util.HashSet; @@ -144,6 +145,20 @@ public abstract class AbstractWebHookTriggerHandler implement return null; } + protected void doStop(Run build) throws IOException, ServletException { + if (build.isBuilding()) { + if (build instanceof AbstractBuild) { + ((AbstractBuild) build).doStop(); + LOGGER.log(Level.WARNING, "Abort incomplete build"); + } else if (build instanceof WorkflowRun) { + ((WorkflowRun) build).doStop(); + LOGGER.log(Level.WARNING, "Abort incomplete build"); + } else { + LOGGER.log(Level.WARNING, "Unable to abort incomplete build, build type not found: " + build.getClass().getName()); + } + } + } + public static class BuildStatusUpdate { private final Integer projectId; private final String sha; diff --git a/src/main/java/com/gitee/jenkins/trigger/handler/note/NoteHookTriggerHandlerImpl.java b/src/main/java/com/gitee/jenkins/trigger/handler/note/NoteHookTriggerHandlerImpl.java index 9dcdd3da0efc568a1eee98881bf235488167b467..22108c07d92695ac42b5b758e273c5bc307f8d2b 100644 --- a/src/main/java/com/gitee/jenkins/trigger/handler/note/NoteHookTriggerHandlerImpl.java +++ b/src/main/java/com/gitee/jenkins/trigger/handler/note/NoteHookTriggerHandlerImpl.java @@ -123,10 +123,7 @@ class NoteHookTriggerHandlerImpl extends AbstractWebHookTriggerHandler && causeData.getTargetRepoHttpUrl().equals(hook.getPullRequest().getTarget().getGitHttpUrl()) && causeData.getRef().equals(hook.getPullRequest().getMergeReferenceName())) { try { - if (build.isBuilding()) { - ((AbstractBuild) build).doStop(); - LOGGER.log(Level.WARNING, "Abort incomplete build"); - } + doStop(build); } catch (ServletException | IOException e) { LOGGER.log(Level.WARNING, "Unable to abort incomplete build", e); } diff --git a/src/main/java/com/gitee/jenkins/trigger/handler/pull/PullRequestHookTriggerHandlerImpl.java b/src/main/java/com/gitee/jenkins/trigger/handler/pull/PullRequestHookTriggerHandlerImpl.java index a0b3fe9d9d54981949ee9583e77f1bade6ee5d5d..4899f892a3c0d4f762ee8dfe708d62ba9d5cb6c3 100644 --- a/src/main/java/com/gitee/jenkins/trigger/handler/pull/PullRequestHookTriggerHandlerImpl.java +++ b/src/main/java/com/gitee/jenkins/trigger/handler/pull/PullRequestHookTriggerHandlerImpl.java @@ -174,10 +174,7 @@ class PullRequestHookTriggerHandlerImpl extends AbstractWebHookTriggerHandler