return;
}
try {
GitlabAPI api = _builder.getGitlab().get();
GitlabNote lastJenkinsNote = getJenkinsNote(gitlabMergeRequest, api);
GitlabCommit latestCommit = getLatestCommit(gitlabMergeRequest, api);
if (lastJenkinsNote == null) {
_logger.info("Latest note from Jenkins is null");
_shouldRun = true;
} else if (latestCommit == null) {
_logger.log(Level.SEVERE, "Failed to determine the lastest commit for merge request {" + gitlabMergeRequest.getId() + "}. This might be caused by a stalled MR in gitlab.");
return;
} else {
_logger.info("Latest note from Jenkins: " + lastJenkinsNote.getId().toString());
_shouldRun = latestCommitIsNotReached(latestCommit);
_logger.info("Latest commit: " + latestCommit.getId());
}
if (_shouldRun) {
_logger.info("Build is supposed to run");
_mergeRequestStatus.setLatestCommitOfMergeRequest(_id.toString(), latestCommit.getId());
}
} catch (IOException e) {
_logger.log(Level.SEVERE, "Failed to fetch commits for Merge Request " + gitlabMergeRequest.getId());
}