diff --git a/src/main/java/org/gitlab4j/api/ProjectApi.java b/src/main/java/org/gitlab4j/api/ProjectApi.java index 145a46f745db7b974a925264c9eec904ca2a3a1a..7fa5663ef19c65bead579f51e83d99d3492fd6f3 100644 --- a/src/main/java/org/gitlab4j/api/ProjectApi.java +++ b/src/main/java/org/gitlab4j/api/ProjectApi.java @@ -1022,7 +1022,9 @@ public class ProjectApi extends AbstractApi implements Constants { .withParam("initialize_with_readme", project.getInitializeWithReadme()) .withParam("packages_enabled", project.getPackagesEnabled()) .withParam("build_git_strategy", project.getBuildGitStrategy()) - .withParam("build_coverage_regex", project.getBuildCoverageRegex()); + .withParam("build_coverage_regex", project.getBuildCoverageRegex()) + .withParam("suggestion_commit_message", project.getSuggestionCommitMessage()) + .withParam("remove_source_branch_after_merge", project.getRemoveSourceBranchAfterMerge()); Namespace namespace = project.getNamespace(); if (namespace != null && namespace.getId() != null) { @@ -1265,7 +1267,10 @@ public class ProjectApi extends AbstractApi implements Constants { .withParam("resolve_outdated_diff_discussions", project.getResolveOutdatedDiffDiscussions()) .withParam("packages_enabled", project.getPackagesEnabled()) .withParam("build_git_strategy", project.getBuildGitStrategy()) - .withParam("build_coverage_regex", project.getBuildCoverageRegex()); + .withParam("build_coverage_regex", project.getBuildCoverageRegex()) + .withParam("merge_method", project.getMergeMethod()) + .withParam("suggestion_commit_message", project.getSuggestionCommitMessage()) + .withParam("remove_source_branch_after_merge", project.getRemoveSourceBranchAfterMerge()); if (isApiVersion(ApiVersion.V3)) { formData.withParam("visibility_level", project.getVisibilityLevel()); diff --git a/src/main/java/org/gitlab4j/api/models/Project.java b/src/main/java/org/gitlab4j/api/models/Project.java index b24e107a84108fd7a3623b27a8a54681b8a98b11..9f101fcfb288979aab448c2d96d0c2957c363253 100644 --- a/src/main/java/org/gitlab4j/api/models/Project.java +++ b/src/main/java/org/gitlab4j/api/models/Project.java @@ -104,6 +104,7 @@ public class Project { private AutoDevopsDeployStrategy autoDevopsDeployStrategy; private Boolean autocloseReferencedIssues; private Boolean emailsDisabled; + private String suggestionCommitMessage; @JsonSerialize(using = JacksonJson.DateOnlySerializer.class) private Date markedForDeletionOn; @@ -787,6 +788,11 @@ public class Project { this.removeSourceBranchAfterMerge = removeSourceBranchAfterMerge; } + public Project withRemoveSourceBranchAfterMerge(Boolean removeSourceBranchAfterMerge) { + this.removeSourceBranchAfterMerge = removeSourceBranchAfterMerge; + return this; + } + public Boolean getAutoDevopsEnabled() { return autoDevopsEnabled; } @@ -823,4 +829,17 @@ public class Project { this.emailsDisabled = emailsDisabled; return this; } + + public String getSuggestionCommitMessage() { + return this.suggestionCommitMessage; + } + + public Project withSuggestionCommitMessage(String suggestionCommitMessage) { + this.suggestionCommitMessage = suggestionCommitMessage; + return this; + } + + public void setSuggestionCommitMessage(String suggestionCommitMessage) { + this.suggestionCommitMessage = suggestionCommitMessage; + } } diff --git a/src/test/java/org/gitlab4j/api/TestProjectApi.java b/src/test/java/org/gitlab4j/api/TestProjectApi.java index 6bea4a75b6f72bc74b8cda97981e5b3f85b97e63..8c2ed18ef379fddc003a8132cb71823585cb1237 100644 --- a/src/test/java/org/gitlab4j/api/TestProjectApi.java +++ b/src/test/java/org/gitlab4j/api/TestProjectApi.java @@ -235,7 +235,10 @@ public class TestProjectApi extends AbstractIntegrationTest { .withWikiEnabled(true) .withSnippetsEnabled(true) .withVisibility(Visibility.PUBLIC) - .withTagList(Arrays.asList("tag1", "tag2")); + .withTagList(Arrays.asList("tag1", "tag2")) + .withMergeMethod(Project.MergeMethod.MERGE) + .withSuggestionCommitMessage("SuggestionCommitMessageOriginal") + .withRemoveSourceBranchAfterMerge(false); Project newProject = gitLabApi.getProjectApi().createProject(project); assertNotNull(newProject); @@ -247,6 +250,9 @@ public class TestProjectApi extends AbstractIntegrationTest { assertEquals(project.getSnippetsEnabled(), newProject.getSnippetsEnabled()); assertEquals(project.getTagList(), newProject.getTagList()); assertTrue(Visibility.PUBLIC == newProject.getVisibility() || Boolean.TRUE == newProject.getPublic()); + assertEquals(Project.MergeMethod.MERGE, newProject.getMergeMethod()); + assertEquals(project.getSuggestionCommitMessage(), newProject.getSuggestionCommitMessage()); + assertEquals(project.getRemoveSourceBranchAfterMerge(), newProject.getRemoveSourceBranchAfterMerge()); project = new Project() .withId(newProject.getId()) @@ -256,7 +262,10 @@ public class TestProjectApi extends AbstractIntegrationTest { .withMergeRequestsEnabled(false) .withWikiEnabled(false) .withSnippetsEnabled(false) - .withVisibility(Visibility.PRIVATE); + .withVisibility(Visibility.PRIVATE) + .withMergeMethod(Project.MergeMethod.REBASE_MERGE) + .withSuggestionCommitMessage("SuggestionCommitMessageUpdated") + .withRemoveSourceBranchAfterMerge(true); Project updatedProject = gitLabApi.getProjectApi().updateProject(project); assertNotNull(updatedProject); @@ -267,6 +276,9 @@ public class TestProjectApi extends AbstractIntegrationTest { assertEquals(project.getWikiEnabled(), updatedProject.getWikiEnabled()); assertEquals(project.getSnippetsEnabled(), updatedProject.getSnippetsEnabled()); assertTrue(Visibility.PRIVATE == updatedProject.getVisibility() || Boolean.FALSE == updatedProject.getPublic()); + assertEquals(Project.MergeMethod.REBASE_MERGE, updatedProject.getMergeMethod()); + assertEquals(project.getSuggestionCommitMessage(), updatedProject.getSuggestionCommitMessage()); + assertEquals(true, updatedProject.getRemoveSourceBranchAfterMerge()); } @Test