Skip to content

Commit

Permalink
Simple null checks for listeners (#19)
Browse files Browse the repository at this point in the history
  • Loading branch information
XiongKezhi authored Aug 4, 2020
1 parent 1d71065 commit 5579acc
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 9 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
<useBeta>true</useBeta>

<!-- Jenkins Plug-in Dependencies Versions -->
<checks-api.version>0.2.0</checks-api.version>
<checks-api.version>0.2.2</checks-api.version>
<plugin-util-api.version>1.2.2</plugin-util-api.version>
<github-api.version>1.115</github-api.version>
<github-branch-source.version>2.8.3</github-branch-source.version>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -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;

/**
Expand All @@ -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;
Expand All @@ -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);
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -45,23 +46,30 @@ protected Optional<ChecksPublisher> createPublisher(final Job<?, ?> job, final T
}

protected Optional<ChecksPublisher> createPublisher(final GitHubChecksContext context,
final TaskListener listener) {
@Nullable final TaskListener listener) {
Job<?, ?> job = context.getJob();
Optional<GitHubSCMSource> 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));
}
}

0 comments on commit 5579acc

Please sign in to comment.