Skip to content

Commit f7281bf

Browse files
BUG: Issue 453 - NPE (#454)
1 parent 41fbc8b commit f7281bf

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/main/java/io/jenkins/plugins/gitlabbranchsource/GitLabSCMSource.java

+6-4
Original file line numberDiff line numberDiff line change
@@ -334,14 +334,15 @@ protected void retrieve(
334334
request.setBranches(gitLabApi.getRepositoryApi().getBranches(gitlabProject));
335335
}
336336
if (request.isFetchMRs() && gitlabProject.getMergeRequestsEnabled()) {
337-
if (!ctx.buildMRForksNotMirror() && gitlabProject.getForkedFromProject() != null) {
337+
final boolean forkedFromProject = (gitlabProject.getForkedFromProject() != null);
338+
if (!ctx.buildMRForksNotMirror() && forkedFromProject) {
338339
listener.getLogger().format("%nIgnoring merge requests as project is a mirror...%n");
339340
} else {
340341
// If not authenticated GitLabApi cannot detect if it is a fork
341-
// If `forkedFromProject` is null it doesn't mean anything
342+
// If `forkedFromProject` is false it doesn't mean anything
342343
listener.getLogger()
343344
.format(
344-
gitlabProject.getForkedFromProject() == null
345+
!forkedFromProject
345346
? "%nUnable to detect if it is a mirror or not still fetching MRs anyway...%n"
346347
: "%nCollecting MRs for fork except those that target its upstream...%n");
347348
Stream<MergeRequest> mrs =
@@ -350,7 +351,8 @@ protected void retrieve(
350351
.getMergeRequests(gitlabProject, MergeRequestState.OPENED)
351352
.stream()
352353
.filter(mr -> mr.getSourceProjectId() != null);
353-
if (ctx.buildMRForksNotMirror()) {
354+
// Patch for issue 453 - avoid an NPE if this isn't a forked project
355+
if (ctx.buildMRForksNotMirror() && forkedFromProject) {
354356
mrs = mrs.filter(mr -> !mr.getTargetProjectId()
355357
.equals(gitlabProject.getForkedFromProject().getId()));
356358
}

0 commit comments

Comments
 (0)