diff options
Diffstat (limited to 'src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketBuildTrigger.java')
-rw-r--r-- | src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketBuildTrigger.java | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketBuildTrigger.java b/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketBuildTrigger.java index 34e12b2..6b03e44 100644 --- a/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketBuildTrigger.java +++ b/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketBuildTrigger.java @@ -211,7 +211,7 @@ public class BitbucketBuildTrigger extends Trigger<Job<?, ?>> { private void cancelPreviousJobsInQueueThatMatch(@Nonnull BitbucketCause bitbucketCause) { logger.fine("Looking for queued jobs that match PR ID: " + bitbucketCause.getPullRequestId()); - Queue queue = Jenkins.getInstance().getQueue(); + Queue queue = getInstance().getQueue(); for (Queue.Item item : queue.getItems()) { if (hasCauseFromTheSamePullRequest(item.getCauses(), bitbucketCause)) { logger.info("Canceling item in queue: " + item); @@ -220,6 +220,14 @@ public class BitbucketBuildTrigger extends Trigger<Job<?, ?>> { } } + private Jenkins getInstance() { + final Jenkins instance = Jenkins.getInstance(); + if (instance == null){ + throw new IllegalStateException("Jenkins instance is NULL!"); + } + return instance; + } + private void abortRunningJobsThatMatch(@Nonnull BitbucketCause bitbucketCause) { logger.fine("Looking for running jobs that match PR ID: " + bitbucketCause.getPullRequestId()); for (Object o : job.getBuilds()) { @@ -227,7 +235,11 @@ public class BitbucketBuildTrigger extends Trigger<Job<?, ?>> { Build build = (Build) o; if (build.isBuilding() && hasCauseFromTheSamePullRequest(build.getCauses(), bitbucketCause)) { logger.info("Aborting build: " + build + " since PR is outdated"); - build.getExecutor().interrupt(Result.ABORTED); + final Executor executor = build.getExecutor(); + if (executor == null){ + throw new IllegalStateException("Executor can't be NULL"); + } + executor.interrupt(Result.ABORTED); } } } |