Skip to content

Commit 645d5fb

Browse files
committed
feat: Add various fields to project model
- readme_url - can_create_merge_request_in - import_status - ci_default_git_depth - remove_source_branch_after_merge - auto_devops_enabled - auto_devops_deploy_strategy - auto_devops_enabled - statistics.packages_size - shared_with_groups.group_full_path fix #613 #632 #667
1 parent 4006654 commit 645d5fb

File tree

6 files changed

+182
-21
lines changed

6 files changed

+182
-21
lines changed

src/main/java/org/gitlab4j/api/Constants.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -848,5 +848,26 @@ public String toString() {
848848
return (enumHelper.toString(this));
849849
}
850850
}
851+
852+
enum AutoDevopsDeployStrategy {
853+
CONTINUOUS, MANUAL, TIMED_INCREMENTAL;
854+
855+
private static JacksonJsonEnumHelper<AutoDevopsDeployStrategy> enumHelper = new JacksonJsonEnumHelper<>(AutoDevopsDeployStrategy.class);
856+
857+
@JsonCreator
858+
public static AutoDevopsDeployStrategy forValue(String value) {
859+
return enumHelper.forValue(value);
860+
}
861+
862+
@JsonValue
863+
public String toValue() {
864+
return (enumHelper.toString(this));
865+
}
866+
867+
@Override
868+
public String toString() {
869+
return (enumHelper.toString(this));
870+
}
871+
}
851872
}
852873

src/main/java/org/gitlab4j/api/models/Namespace.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ public class Namespace {
99
private String path;
1010
private String kind;
1111
private String fullPath;
12+
private String avatarUrl;
13+
private String webUrl;
1214

1315
public Integer getId() {
1416
return this.id;
@@ -75,6 +77,22 @@ public Namespace withFullPath(String fullPath) {
7577
return this;
7678
}
7779

80+
public String getAvatarUrl() {
81+
return avatarUrl;
82+
}
83+
84+
public void setAvatarUrl(String avatarUrl) {
85+
this.avatarUrl = avatarUrl;
86+
}
87+
88+
public String getWebUrl() {
89+
return webUrl;
90+
}
91+
92+
public void setWebUrl(String webUrl) {
93+
this.webUrl = webUrl;
94+
}
95+
7896
@Override
7997
public String toString() {
8098
return (JacksonJson.toJsonString(this));

src/main/java/org/gitlab4j/api/models/Project.java

Lines changed: 89 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,17 @@
44
import java.util.Date;
55
import java.util.List;
66

7+
import org.gitlab4j.api.Constants.AutoDevopsDeployStrategy;
8+
import org.gitlab4j.api.Constants.BuildGitStrategy;
79
import org.gitlab4j.api.ProjectLicense;
10+
import org.gitlab4j.api.models.ImportStatus.Status;
811
import org.gitlab4j.api.utils.JacksonJson;
912
import org.gitlab4j.api.utils.JacksonJsonEnumHelper;
1013

1114
import com.fasterxml.jackson.annotation.JsonCreator;
1215
import com.fasterxml.jackson.annotation.JsonValue;
1316
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
1417

15-
import org.gitlab4j.api.Constants.BuildGitStrategy;
16-
1718
public class Project {
1819

1920
// Enum for the merge_method of the Project instance.
@@ -94,6 +95,15 @@ public String toString() {
9495
private List<CustomAttribute> customAttributes;
9596
private String buildCoverageRegex;
9697
private BuildGitStrategy buildGitStrategy;
98+
private String readmeUrl;
99+
private Boolean canCreateMergeRequestIn;
100+
private Status importStatus;
101+
private Integer ciDefaultGitDepth;
102+
private Boolean removeSourceBranchAfterMerge;
103+
private Boolean autoDevopsEnabled;
104+
private AutoDevopsDeployStrategy autoDevopsDeployStrategy;
105+
private Boolean autocloseReferencedIssues;
106+
private Boolean emailsDisabled;
97107

98108
@JsonSerialize(using = JacksonJson.DateOnlySerializer.class)
99109
private Date markedForDeletionOn;
@@ -736,4 +746,81 @@ public Project withBuildGitStrategy(BuildGitStrategy buildGitStrategy) {
736746
this.buildGitStrategy = buildGitStrategy;
737747
return this;
738748
}
749+
750+
public String getReadmeUrl() {
751+
return readmeUrl;
752+
}
753+
754+
public void setReadmeUrl(String readmeUrl) {
755+
this.readmeUrl = readmeUrl;
756+
}
757+
758+
public Boolean getCanCreateMergeRequestIn() {
759+
return canCreateMergeRequestIn;
760+
}
761+
762+
public void setCanCreateMergeRequestIn(Boolean canCreateMergeRequestIn) {
763+
this.canCreateMergeRequestIn = canCreateMergeRequestIn;
764+
}
765+
766+
public Status getImportStatus() {
767+
return importStatus;
768+
}
769+
770+
public void setImportStatus(Status importStatus) {
771+
this.importStatus = importStatus;
772+
}
773+
774+
public Integer getCiDefaultGitDepth() {
775+
return ciDefaultGitDepth;
776+
}
777+
778+
public void setCiDefaultGitDepth(Integer ciDefaultGitDepth) {
779+
this.ciDefaultGitDepth = ciDefaultGitDepth;
780+
}
781+
782+
public Boolean getRemoveSourceBranchAfterMerge() {
783+
return removeSourceBranchAfterMerge;
784+
}
785+
786+
public void setRemoveSourceBranchAfterMerge(Boolean removeSourceBranchAfterMerge) {
787+
this.removeSourceBranchAfterMerge = removeSourceBranchAfterMerge;
788+
}
789+
790+
public Boolean getAutoDevopsEnabled() {
791+
return autoDevopsEnabled;
792+
}
793+
794+
public void setAutoDevopsEnabled(Boolean autoDevopsEnabled) {
795+
this.autoDevopsEnabled = autoDevopsEnabled;
796+
}
797+
798+
public AutoDevopsDeployStrategy getAutoDevopsDeployStrategy() {
799+
return autoDevopsDeployStrategy;
800+
}
801+
802+
public void setAutoDevopsDeployStrategy(AutoDevopsDeployStrategy autoDevopsDeployStrategy) {
803+
this.autoDevopsDeployStrategy = autoDevopsDeployStrategy;
804+
}
805+
806+
public Boolean getAutocloseReferencedIssues() {
807+
return autocloseReferencedIssues;
808+
}
809+
810+
public void setAutocloseReferencedIssues(Boolean autocloseReferencedIssues) {
811+
this.autocloseReferencedIssues = autocloseReferencedIssues;
812+
}
813+
814+
public Boolean getEmailsDisabled() {
815+
return emailsDisabled;
816+
}
817+
818+
public void setEmailsDisabled(Boolean emailsDisabled) {
819+
this.emailsDisabled = emailsDisabled;
820+
}
821+
822+
public Project withEmailsDisabled(Boolean emailsDisabled) {
823+
this.emailsDisabled = emailsDisabled;
824+
return this;
825+
}
739826
}

src/main/java/org/gitlab4j/api/models/ProjectSharedGroup.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
import org.gitlab4j.api.utils.JacksonJson;
44

55
public class ProjectSharedGroup {
6-
6+
77
private Integer groupId;
88
private String groupName;
9+
private String groupFullPath;
910
private AccessLevel groupAccessLevel;
1011

1112
public int getGroupId() {
@@ -32,6 +33,14 @@ public void setGroupAccessLevel(AccessLevel accessLevel) {
3233
this.groupAccessLevel = accessLevel;
3334
}
3435

36+
public String getGroupFullPath() {
37+
return groupFullPath;
38+
}
39+
40+
public void setGroupFullPath(String groupFullPath) {
41+
this.groupFullPath = groupFullPath;
42+
}
43+
3544
@Override
3645
public String toString() {
3746
return (JacksonJson.toJsonString(this));

src/main/java/org/gitlab4j/api/models/ProjectStatistics.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public class ProjectStatistics {
1616
long wikiSize;
1717
long lfsObjectsSize;
1818
long jobArtifactsSize;
19+
long packagesSize;
1920

2021
public long getCommitCount() {
2122
return commitCount;
@@ -65,6 +66,14 @@ public void setJobArtifactsSize(long jobArtifactsSize) {
6566
this.jobArtifactsSize = jobArtifactsSize;
6667
}
6768

69+
public long getPackagesSize() {
70+
return packagesSize;
71+
}
72+
73+
public void setPackagesSize(long packagesSize) {
74+
this.packagesSize = packagesSize;
75+
}
76+
6877
@Override
6978
public String toString() {
7079
return (JacksonJson.toJsonString(this));

src/test/resources/org/gitlab4j/api/project.json

Lines changed: 35 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22
"id": 3,
33
"default_branch": "master",
44
"public": false,
5-
"visibility_level": 0,
5+
"visibility": "private",
66
"ssh_url_to_repo": "[email protected]:diaspora/diaspora-project-site.git",
77
"http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git",
88
"web_url": "http://example.com/diaspora/diaspora-project-site",
9+
"readme_url": "http://example.com/diaspora/diaspora-project-site/blob/master/README.md",
910
"tag_list": [
1011
"example",
1112
"disapora project"
@@ -25,15 +26,22 @@
2526
"jobs_enabled": true,
2627
"wiki_enabled": true,
2728
"snippets_enabled": false,
29+
"can_create_merge_request_in": true,
30+
"resolve_outdated_diff_discussions": false,
2831
"container_registry_enabled": false,
2932
"created_at": "2013-09-30T13:46:02Z",
3033
"last_activity_at": "2013-09-30T13:46:02Z",
3134
"creator_id": 3,
3235
"namespace": {
3336
"id": 3,
3437
"name": "Diaspora",
35-
"path": "diaspora"
38+
"path": "diaspora",
39+
"kind": "group",
40+
"full_path": "diaspora",
41+
"avatar_url": "http://localhost:3000/uploads/group/avatar/3/foo.jpg",
42+
"web_url": "http://localhost:3000/groups/diaspora"
3643
},
44+
"import_status": "none",
3745
"permissions": {
3846
"project_access": {
3947
"access_level": 10,
@@ -44,47 +52,56 @@
4452
"notification_level": 3
4553
}
4654
},
47-
"empty_repo": true,
4855
"archived": false,
4956
"avatar_url": "http://example.com/uploads/project/avatar/3/uploads/avatar.png",
57+
"license_url": "http://example.com/diaspora/diaspora-client/blob/master/LICENSE",
58+
"license": {
59+
"key": "lgpl-3.0",
60+
"name": "GNU Lesser General Public License v3.0",
61+
"nickname": "GNU LGPLv3",
62+
"html_url": "http://choosealicense.com/licenses/lgpl-3.0/",
63+
"source_url": "http://www.gnu.org/licenses/lgpl-3.0.txt"
64+
},
5065
"shared_runners_enabled": true,
5166
"forks_count": 0,
5267
"star_count": 0,
5368
"runners_token": "b8bc4a7a29eb76ea83cf79e4908c2b",
69+
"ci_default_git_depth": 50,
5470
"public_jobs": true,
5571
"shared_with_groups": [
5672
{
5773
"group_id": 4,
5874
"group_name": "Twitter",
75+
"group_full_path": "twitter",
5976
"group_access_level": 30
6077
},
6178
{
6279
"group_id": 3,
6380
"group_name": "Gitlab Org",
81+
"group_full_path": "gitlab-org",
6482
"group_access_level": 10
6583
}
6684
],
6785
"repository_storage": "default",
6886
"only_allow_merge_if_pipeline_succeeds": false,
6987
"only_allow_merge_if_all_discussions_are_resolved": false,
88+
"remove_source_branch_after_merge": false,
7089
"request_access_enabled": false,
7190
"merge_method": "merge",
91+
"auto_devops_enabled": true,
92+
"auto_devops_deploy_strategy": "continuous",
93+
"approvals_before_merge": 0,
94+
"packages_enabled": true,
95+
"autoclose_referenced_issues": true,
96+
"marked_for_deletion_on": "2020-04-03",
7297
"statistics": {
73-
"commit_count": 9827,
74-
"storage_size": 169043997645,
75-
"repository_size": 388717608,
76-
"wiki_size": 52428,
77-
"lfs_objects_size": 2118052893,
78-
"job_artifacts_size": 166537174716
79-
},
80-
"marked_for_deletion_on": "2016-06-17",
81-
"license_url": "http://example.com/diaspora/diaspora-client/blob/master/LICENSE",
82-
"license": {
83-
"key": "lgpl-3.0",
84-
"name": "GNU Lesser General Public License v3.0",
85-
"nickname": "GNU LGPLv3",
86-
"html_url": "http://choosealicense.com/licenses/lgpl-3.0/",
87-
"source_url": "http://www.gnu.org/licenses/lgpl-3.0.txt"
98+
"commit_count": 37,
99+
"storage_size": 1038090,
100+
"repository_size": 1038090,
101+
"wiki_size": 0,
102+
"lfs_objects_size": 0,
103+
"job_artifacts_size": 0,
104+
"packages_size": 0
88105
},
89106
"custom_attributes": []
90107
}

0 commit comments

Comments
 (0)