public GitlabNote createNote(String message, boolean shouldClose, boolean shouldMerge) { GitlabMergeRequest mergeRequest = new GitlabMergeRequest(); mergeRequest.setId(id); mergeRequest.setIid(iid); mergeRequest.setProjectId(project.getId()); try { if (shouldClose || shouldMerge) { String tailUrl = ""; if (shouldClose) { tailUrl = GitlabProject.URL + "/" + project.getId() + "/merge_request/" + iid + "?state_event=close"; } if (shouldMerge) { tailUrl = GitlabProject.URL + "/" + project.getId() + "/merge_request/" + iid + "/merge"; } builder.getGitlab().get().retrieve().method("PUT").to(tailUrl, Void.class); } } catch (IOException e) { LOGGER.log(Level.SEVERE, "Failed to automatically merge/close the merge request " + iid, e); } try { return builder.getGitlab().get().createNote(mergeRequest, message); } catch (IOException e) { LOGGER.log(Level.SEVERE, "Failed to create note for merge request " + iid, e); return null; } }