diff --git a/pom.xml b/pom.xml
index 4ce81137..63c2e458 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
true
- 0.2.0
+ 0.2.2
1.2.2
1.115
2.8.3
diff --git a/src/main/java/io/jenkins/plugins/checks/github/GitHubChecksPublisher.java b/src/main/java/io/jenkins/plugins/checks/github/GitHubChecksPublisher.java
index 47f52979..8c209f1c 100644
--- a/src/main/java/io/jenkins/plugins/checks/github/GitHubChecksPublisher.java
+++ b/src/main/java/io/jenkins/plugins/checks/github/GitHubChecksPublisher.java
@@ -4,6 +4,7 @@
import java.time.Instant;
import java.util.Date;
+import edu.umd.cs.findbugs.annotations.Nullable;
import hudson.model.TaskListener;
import org.apache.commons.lang3.StringUtils;
@@ -28,6 +29,7 @@ public class GitHubChecksPublisher extends ChecksPublisher {
private static final Logger LOGGER = Logger.getLogger(GitHubChecksPublisher.class.getName());
private final GitHubChecksContext context;
+ @Nullable
private final TaskListener listener;
/**
@@ -36,7 +38,7 @@ public class GitHubChecksPublisher extends ChecksPublisher {
* @param context
* a context which contains SCM properties
*/
- public GitHubChecksPublisher(final GitHubChecksContext context, final TaskListener listener) {
+ public GitHubChecksPublisher(final GitHubChecksContext context, @Nullable final TaskListener listener) {
super();
this.context = context;
@@ -57,12 +59,16 @@ public void publish(final ChecksDetails details) {
credentials);
GHCheckRunBuilder builder = createBuilder(gitHub, new GitHubChecksDetails(details));
builder.create();
- listener.getLogger().println("GitHub checks have been published.");
+ if (listener != null) {
+ listener.getLogger().println("GitHub checks have been published.");
+ }
}
catch (IllegalStateException | IOException e) {
String message = "Failed Publishing GitHub checks: ";
LOGGER.log(Level.WARN, message, e);
- listener.getLogger().println(message + e);
+ if (listener != null) {
+ listener.getLogger().println(message + e);
+ }
}
}
diff --git a/src/main/java/io/jenkins/plugins/checks/github/GitHubChecksPublisherFactory.java b/src/main/java/io/jenkins/plugins/checks/github/GitHubChecksPublisherFactory.java
index 30cab1d6..efb0953a 100644
--- a/src/main/java/io/jenkins/plugins/checks/github/GitHubChecksPublisherFactory.java
+++ b/src/main/java/io/jenkins/plugins/checks/github/GitHubChecksPublisherFactory.java
@@ -3,6 +3,7 @@
import java.util.Optional;
import edu.hm.hafner.util.VisibleForTesting;
+import edu.umd.cs.findbugs.annotations.Nullable;
import hudson.model.Job;
import hudson.model.TaskListener;
import org.jenkinsci.plugins.github_branch_source.GitHubSCMSource;
@@ -45,23 +46,30 @@ protected Optional createPublisher(final Job, ?> job, final T
}
protected Optional createPublisher(final GitHubChecksContext context,
- final TaskListener listener) {
+ @Nullable final TaskListener listener) {
Job, ?> job = context.getJob();
Optional source = scmFacade.findGitHubSCMSource(job);
if (!source.isPresent()) {
- listener.getLogger().println("Skipped publishing GitHub checks: no GitHub SCM found.");
+ if (listener != null) {
+ listener.getLogger().println("Skipped publishing GitHub checks: no GitHub SCM found.");
+ }
return Optional.empty();
}
String credentialsId = source.get().getCredentialsId();
if (credentialsId == null
|| !scmFacade.findGitHubAppCredentials(job, credentialsId).isPresent()) {
- listener.getLogger().println("Skipped publishing GitHub checks: no GitHub APP credentials found, "
- + "see https://github.com/jenkinsci/github-branch-source-plugin/blob/master/docs/github-app.adoc");
+ if (listener != null) {
+ listener.getLogger().println("Skipped publishing GitHub checks: no GitHub APP credentials found, "
+ + "see "
+ + "https://github.com/jenkinsci/github-branch-source-plugin/blob/master/docs/github-app.adoc");
+ }
return Optional.empty();
}
- listener.getLogger().println("Publishing GitHub checks...");
+ if (listener != null) {
+ listener.getLogger().println("Publishing GitHub checks...");
+ }
return Optional.of(new GitHubChecksPublisher(context, listener));
}
}