From f980a70f56488afbdd4e5a1fb665b6bb56e7bcd7 Mon Sep 17 00:00:00 2001 From: Stephen Connolly Date: Mon, 18 Dec 2017 10:39:48 +0000 Subject: [PATCH 1/2] [FIXED JENKINS-38664] Skip notification if root URL not defined --- .../bitbucket/BitbucketBuildStatusNotifications.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/com/cloudbees/jenkins/plugins/bitbucket/BitbucketBuildStatusNotifications.java b/src/main/java/com/cloudbees/jenkins/plugins/bitbucket/BitbucketBuildStatusNotifications.java index f54da3c81..b1d6dcb91 100644 --- a/src/main/java/com/cloudbees/jenkins/plugins/bitbucket/BitbucketBuildStatusNotifications.java +++ b/src/main/java/com/cloudbees/jenkins/plugins/bitbucket/BitbucketBuildStatusNotifications.java @@ -39,6 +39,7 @@ import java.io.File; import java.io.IOException; import javax.annotation.CheckForNull; +import jenkins.model.JenkinsLocationConfiguration; import jenkins.plugins.git.AbstractGitSCMSource; import jenkins.scm.api.SCMHeadObserver; import jenkins.scm.api.SCMRevision; @@ -56,6 +57,12 @@ public class BitbucketBuildStatusNotifications { private static void createStatus(@NonNull Run build, @NonNull TaskListener listener, @NonNull BitbucketApi bitbucket, @NonNull String hash) throws IOException, InterruptedException { + JenkinsLocationConfiguration cfg = JenkinsLocationConfiguration.get(); + if (cfg == null || cfg.getUrl() == null) { + listener.getLogger().println( + "Can not determine Jenkins root URL. Commit status notifications are disabled until a root URL is" + + " configured in Jenkins global configuration."); + } String url; try { url = DisplayURLProvider.get().getRunURL(build); From 69e0b508b66c96f32224f85b236a142137d86564 Mon Sep 17 00:00:00 2001 From: Stephen Connolly Date: Mon, 18 Dec 2017 11:18:03 +0000 Subject: [PATCH 2/2] [JENKINS-38664] Code review saves the day --- .../plugins/bitbucket/BitbucketBuildStatusNotifications.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/cloudbees/jenkins/plugins/bitbucket/BitbucketBuildStatusNotifications.java b/src/main/java/com/cloudbees/jenkins/plugins/bitbucket/BitbucketBuildStatusNotifications.java index b1d6dcb91..a6acb2e02 100644 --- a/src/main/java/com/cloudbees/jenkins/plugins/bitbucket/BitbucketBuildStatusNotifications.java +++ b/src/main/java/com/cloudbees/jenkins/plugins/bitbucket/BitbucketBuildStatusNotifications.java @@ -62,6 +62,7 @@ private static void createStatus(@NonNull Run build, @NonNull TaskListener listener.getLogger().println( "Can not determine Jenkins root URL. Commit status notifications are disabled until a root URL is" + " configured in Jenkins global configuration."); + return; } String url; try {