From e4d13ac958684194ce12ce003fa7fc2e526a8aae Mon Sep 17 00:00:00 2001 From: Michael Fitoussi <16884890+mifitous@users.noreply.github.com> Date: Thu, 16 Feb 2023 17:48:46 +0200 Subject: [PATCH 1/3] add reviewers related fields to MergeRequestEvent webhook event --- .../org/gitlab4j/api/webhook/EventMergeRequest.java | 9 +++++++++ .../org/gitlab4j/api/webhook/MergeRequestEvent.java | 10 ++++++++++ 2 files changed, 19 insertions(+) diff --git a/src/main/java/org/gitlab4j/api/webhook/EventMergeRequest.java b/src/main/java/org/gitlab4j/api/webhook/EventMergeRequest.java index 157d0dee5..7a5eefd42 100644 --- a/src/main/java/org/gitlab4j/api/webhook/EventMergeRequest.java +++ b/src/main/java/org/gitlab4j/api/webhook/EventMergeRequest.java @@ -60,6 +60,7 @@ public class EventMergeRequest { private Integer timeEstimate; private Duration humanTimeEstimate; private List assigneeIds; + private List reviewerIds; public Long getAssigneeId() { return this.assigneeId; @@ -437,6 +438,14 @@ public void setAssigneeIds(List assigneeIds) { this.assigneeIds = assigneeIds; } + public List getReviewerIds() { + return reviewerIds; + } + + public void setReviewerIds(List reviewerIds) { + this.reviewerIds = reviewerIds; + } + @Override public String toString() { return (JacksonJson.toJsonString(this)); diff --git a/src/main/java/org/gitlab4j/api/webhook/MergeRequestEvent.java b/src/main/java/org/gitlab4j/api/webhook/MergeRequestEvent.java index 4108efb6d..48592e682 100644 --- a/src/main/java/org/gitlab4j/api/webhook/MergeRequestEvent.java +++ b/src/main/java/org/gitlab4j/api/webhook/MergeRequestEvent.java @@ -3,6 +3,7 @@ import java.util.List; import org.gitlab4j.api.models.Assignee; +import org.gitlab4j.api.models.Reviewer; import org.gitlab4j.api.models.User; import org.gitlab4j.api.utils.JacksonJson; @@ -18,6 +19,7 @@ public class MergeRequestEvent extends AbstractEvent { private List labels; private MergeRequestChanges changes; private List assignees; + private List reviewers; public String getObjectKind() { return (OBJECT_KIND); @@ -84,6 +86,14 @@ public void setAssignees(List assignees) { this.assignees = assignees; } + public List getReviewers() { + return reviewers; + } + + public void setReviewers(List reviewers) { + this.reviewers = reviewers; + } + public static class ObjectAttributes extends EventMergeRequest { } From 6d93f1368dbc2a3d0394d1565adc51ff15b72f5a Mon Sep 17 00:00:00 2001 From: Michael Fitoussi <16884890+mifitous@users.noreply.github.com> Date: Sun, 2 Apr 2023 10:17:01 +0300 Subject: [PATCH 2/3] updated merge-request-event from GitLab official doc --- .../org/gitlab4j/api/merge-request-event.json | 248 ++++++++++-------- 1 file changed, 139 insertions(+), 109 deletions(-) diff --git a/src/test/resources/org/gitlab4j/api/merge-request-event.json b/src/test/resources/org/gitlab4j/api/merge-request-event.json index 9cc387a54..beb9b1104 100644 --- a/src/test/resources/org/gitlab4j/api/merge-request-event.json +++ b/src/test/resources/org/gitlab4j/api/merge-request-event.json @@ -1,136 +1,106 @@ { "object_kind": "merge_request", + "event_type": "merge_request", "user": { + "id": 1, "name": "Administrator", "username": "root", - "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=40\u0026d=identicon" + "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=40\u0026d=identicon", + "email": "admin@example.com" }, "project": { - "name": "awesome_project", - "description": "", - "web_url": "http://example.com/awesome_space/awesome_project", - "git_ssh_url": "git@example.com:awesome_space/awesome_project.git", - "git_http_url": "http://example.com/awesome_space/awesome_project.git", - "namespace": "awesome_space", + "id": 1, + "name": "Gitlab Test", + "description": "Aut reprehenderit ut est.", + "web_url": "http://example.com/gitlabhq/gitlab-test", + "avatar_url": null, + "git_ssh_url": "git@example.com:gitlabhq/gitlab-test.git", + "git_http_url": "http://example.com/gitlabhq/gitlab-test.git", + "namespace": "GitlabHQ", "visibility_level": 20, - "path_with_namespace": "awesome_space/awesome_project", + "path_with_namespace": "gitlabhq/gitlab-test", "default_branch": "master", - "homepage": "http://example.com/awesome_space/awesome_project", - "url": "git@example.com:awesome_space/awesome_project.git", - "ssh_url": "git@example.com:awesome_space/awesome_project.git", - "http_url": "http://example.com/awesome_space/awesome_project.git" + "homepage": "http://example.com/gitlabhq/gitlab-test", + "url": "http://example.com/gitlabhq/gitlab-test.git", + "ssh_url": "git@example.com:gitlabhq/gitlab-test.git", + "http_url": "http://example.com/gitlabhq/gitlab-test.git" }, "repository": { - "name": "awesome_project", - "url": "git@example.com:awesome_space/awesome_project.git", - "description": "", - "homepage": "http://example.com/awesome_space/awesome_project" + "name": "Gitlab Test", + "url": "http://example.com/gitlabhq/gitlab-test.git", + "description": "Aut reprehenderit ut est.", + "homepage": "http://example.com/gitlabhq/gitlab-test" }, "object_attributes": { "id": 99, + "iid": 1, "target_branch": "master", "source_branch": "ms-viewport", "source_project_id": 14, "author_id": 51, + "assignee_ids": [ + 6 + ], "assignee_id": 6, + "reviewer_ids": [ + 6 + ], "title": "MS-Viewport", "created_at": "2013-12-03T17:23:34Z", "updated_at": "2013-12-03T17:23:34Z", + "milestone_id": null, "state": "opened", + "blocking_discussions_resolved": true, + "work_in_progress": false, + "first_contribution": true, "merge_status": "unchecked", "target_project_id": 14, - "iid": 1, - "merge_commit_sha": "5f72688f7af57df23ee7510cec59b909289964f1", "description": "", - "source":{ - "name":"Awesome Project", - "description":"Aut reprehenderit ut est.", - "web_url":"http://example.com/awesome_space/awesome_project", - "git_ssh_url":"git@example.com:awesome_space/awesome_project.git", - "git_http_url":"http://example.com/awesome_space/awesome_project.git", - "namespace":"Awesome Space", - "visibility_level":20, - "path_with_namespace":"awesome_space/awesome_project", - "default_branch":"master", - "homepage":"http://example.com/awesome_space/awesome_project", - "url":"http://example.com/awesome_space/awesome_project.git", - "ssh_url":"git@example.com:awesome_space/awesome_project.git", - "http_url":"http://example.com/awesome_space/awesome_project.git" + "url": "http://example.com/diaspora/merge_requests/1", + "source": { + "name": "Awesome Project", + "description": "Aut reprehenderit ut est.", + "web_url": "http://example.com/awesome_space/awesome_project", + "avatar_url": null, + "git_ssh_url": "git@example.com:awesome_space/awesome_project.git", + "git_http_url": "http://example.com/awesome_space/awesome_project.git", + "namespace": "Awesome Space", + "visibility_level": 20, + "path_with_namespace": "awesome_space/awesome_project", + "default_branch": "master", + "homepage": "http://example.com/awesome_space/awesome_project", + "url": "http://example.com/awesome_space/awesome_project.git", + "ssh_url": "git@example.com:awesome_space/awesome_project.git", + "http_url": "http://example.com/awesome_space/awesome_project.git" }, "target": { - "name":"Awesome Project", - "description":"Aut reprehenderit ut est.", - "web_url":"http://example.com/awesome_space/awesome_project", - "git_ssh_url":"git@example.com:awesome_space/awesome_project.git", - "git_http_url":"http://example.com/awesome_space/awesome_project.git", - "namespace":"Awesome Space", - "visibility_level":20, - "path_with_namespace":"awesome_space/awesome_project", - "default_branch":"master", - "homepage":"http://example.com/awesome_space/awesome_project", - "url":"http://example.com/awesome_space/awesome_project.git", - "ssh_url":"git@example.com:awesome_space/awesome_project.git", - "http_url":"http://example.com/awesome_space/awesome_project.git" + "name": "Awesome Project", + "description": "Aut reprehenderit ut est.", + "web_url": "http://example.com/awesome_space/awesome_project", + "avatar_url": null, + "git_ssh_url": "git@example.com:awesome_space/awesome_project.git", + "git_http_url": "http://example.com/awesome_space/awesome_project.git", + "namespace": "Awesome Space", + "visibility_level": 20, + "path_with_namespace": "awesome_space/awesome_project", + "default_branch": "master", + "homepage": "http://example.com/awesome_space/awesome_project", + "url": "http://example.com/awesome_space/awesome_project.git", + "ssh_url": "git@example.com:awesome_space/awesome_project.git", + "http_url": "http://example.com/awesome_space/awesome_project.git" }, "last_commit": { "id": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7", "message": "fixed readme", - "timestamp": "2012-01-03T23:36:29Z", + "timestamp": "2012-01-03T23:36:29+02:00", "url": "http://example.com/awesome_space/awesome_project/commits/da1560886d4f094c3e6c9ef40349f7d38b5d27d7", "author": { "name": "GitLab dev user", "email": "gitlabdev@dv6700.(none)" } }, - "work_in_progress": false, - "url": "http://example.com/diaspora/merge_requests/1", - "action": "open", - "assignee": { - "name": "User1", - "username": "user1", - "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=40\u0026d=identicon" - } - }, - "labels": [{ - "id": 206, - "title": "API", - "color": "#ffffff", - "project_id": 14, - "created_at": "2013-12-03T17:15:43Z", - "updated_at": "2013-12-03T17:15:43Z", - "template": false, - "description": "API related issues", - "type": "ProjectLabel", - "group_id": 41 - }], - "changes": { - "author_id": { - "current":2 - }, - "updated_at": { - "current": "2013-12-03T17:23:34Z" - }, - "updated_by_id": { - "previous": 2, - "current": 6 - }, - "id":{ - "previous":123, - "current":456 - }, - "iid":{ - "previous":12, - "current":34 - }, - "merge_status": { - "current": "unchecked" - }, - "milestone_id": { - "previous":0, - "current":1 - }, - "labels": { - "previous": [{ + "labels": [ + { "id": 206, "title": "API", "color": "#ffffff", @@ -141,19 +111,79 @@ "description": "API related issues", "type": "ProjectLabel", "group_id": 41 - }], - "current": [{ - "id": 205, - "title": "Platform", - "color": "#123123", - "project_id": 14, - "created_at": "2013-12-03T17:15:43Z", - "updated_at": "2013-12-03T17:15:43Z", - "template": false, - "description": "Platform related issues", - "type": "ProjectLabel", - "group_id": 41 - }] + } + ], + "action": "open", + "detailed_merge_status": "mergeable" + }, + "labels": [ + { + "id": 206, + "title": "API", + "color": "#ffffff", + "project_id": 14, + "created_at": "2013-12-03T17:15:43Z", + "updated_at": "2013-12-03T17:15:43Z", + "template": false, + "description": "API related issues", + "type": "ProjectLabel", + "group_id": 41 + } + ], + "changes": { + "updated_by_id": { + "previous": null, + "current": 1 + }, + "updated_at": { + "previous": "2017-09-15 16:50:55 UTC", + "current": "2017-09-15 16:52:00 UTC" + }, + "labels": { + "previous": [ + { + "id": 206, + "title": "API", + "color": "#ffffff", + "project_id": 14, + "created_at": "2013-12-03T17:15:43Z", + "updated_at": "2013-12-03T17:15:43Z", + "template": false, + "description": "API related issues", + "type": "ProjectLabel", + "group_id": 41 + } + ], + "current": [ + { + "id": 205, + "title": "Platform", + "color": "#123123", + "project_id": 14, + "created_at": "2013-12-03T17:15:43Z", + "updated_at": "2013-12-03T17:15:43Z", + "template": false, + "description": "Platform related issues", + "type": "ProjectLabel", + "group_id": 41 + } + ] + } + }, + "assignees": [ + { + "id": 6, + "name": "User1", + "username": "user1", + "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=40\u0026d=identicon" + } + ], + "reviewers": [ + { + "id": 6, + "name": "User1", + "username": "user1", + "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=40\u0026d=identicon" } - } + ] } \ No newline at end of file From 869238ee2b3d64d1ca3cae4fc0b41aaba652998d Mon Sep 17 00:00:00 2001 From: Jeremie Bresson Date: Tue, 4 Apr 2023 11:34:02 +0200 Subject: [PATCH 3/3] Update test JSON to make the test green --- .../org/gitlab4j/api/merge-request-event.json | 109 +++++++++--------- 1 file changed, 52 insertions(+), 57 deletions(-) diff --git a/src/test/resources/org/gitlab4j/api/merge-request-event.json b/src/test/resources/org/gitlab4j/api/merge-request-event.json index beb9b1104..4d8cfc088 100644 --- a/src/test/resources/org/gitlab4j/api/merge-request-event.json +++ b/src/test/resources/org/gitlab4j/api/merge-request-event.json @@ -1,6 +1,5 @@ { "object_kind": "merge_request", - "event_type": "merge_request", "user": { "id": 1, "name": "Administrator", @@ -13,7 +12,7 @@ "name": "Gitlab Test", "description": "Aut reprehenderit ut est.", "web_url": "http://example.com/gitlabhq/gitlab-test", - "avatar_url": null, + "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=40\u0026d=identicon", "git_ssh_url": "git@example.com:gitlabhq/gitlab-test.git", "git_http_url": "http://example.com/gitlabhq/gitlab-test.git", "namespace": "GitlabHQ", @@ -48,11 +47,8 @@ "title": "MS-Viewport", "created_at": "2013-12-03T17:23:34Z", "updated_at": "2013-12-03T17:23:34Z", - "milestone_id": null, "state": "opened", - "blocking_discussions_resolved": true, "work_in_progress": false, - "first_contribution": true, "merge_status": "unchecked", "target_project_id": 14, "description": "", @@ -61,7 +57,7 @@ "name": "Awesome Project", "description": "Aut reprehenderit ut est.", "web_url": "http://example.com/awesome_space/awesome_project", - "avatar_url": null, + "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=40\u0026d=identicon", "git_ssh_url": "git@example.com:awesome_space/awesome_project.git", "git_http_url": "http://example.com/awesome_space/awesome_project.git", "namespace": "Awesome Space", @@ -77,7 +73,7 @@ "name": "Awesome Project", "description": "Aut reprehenderit ut est.", "web_url": "http://example.com/awesome_space/awesome_project", - "avatar_url": null, + "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=40\u0026d=identicon", "git_ssh_url": "git@example.com:awesome_space/awesome_project.git", "git_http_url": "http://example.com/awesome_space/awesome_project.git", "namespace": "Awesome Space", @@ -92,29 +88,14 @@ "last_commit": { "id": "da1560886d4f094c3e6c9ef40349f7d38b5d27d7", "message": "fixed readme", - "timestamp": "2012-01-03T23:36:29+02:00", + "timestamp": "2012-01-03T23:36:29Z", "url": "http://example.com/awesome_space/awesome_project/commits/da1560886d4f094c3e6c9ef40349f7d38b5d27d7", "author": { "name": "GitLab dev user", "email": "gitlabdev@dv6700.(none)" } }, - "labels": [ - { - "id": 206, - "title": "API", - "color": "#ffffff", - "project_id": 14, - "created_at": "2013-12-03T17:15:43Z", - "updated_at": "2013-12-03T17:15:43Z", - "template": false, - "description": "API related issues", - "type": "ProjectLabel", - "group_id": 41 - } - ], - "action": "open", - "detailed_merge_status": "mergeable" + "action": "open" }, "labels": [ { @@ -131,43 +112,57 @@ } ], "changes": { - "updated_by_id": { - "previous": null, - "current": 1 + "author_id": { + "current":2 }, "updated_at": { - "previous": "2017-09-15 16:50:55 UTC", - "current": "2017-09-15 16:52:00 UTC" + "previous": "2013-09-15T16:50:55Z", + "current": "2013-12-03T17:23:34Z" + }, + "updated_by_id": { + "previous": 2, + "current": 6 + }, + "id":{ + "previous":123, + "current":456 + }, + "iid":{ + "previous":12, + "current":34 + }, + "merge_status": { + "current": "unchecked" + }, + "milestone_id": { + "previous":0, + "current":1 }, "labels": { - "previous": [ - { - "id": 206, - "title": "API", - "color": "#ffffff", - "project_id": 14, - "created_at": "2013-12-03T17:15:43Z", - "updated_at": "2013-12-03T17:15:43Z", - "template": false, - "description": "API related issues", - "type": "ProjectLabel", - "group_id": 41 - } - ], - "current": [ - { - "id": 205, - "title": "Platform", - "color": "#123123", - "project_id": 14, - "created_at": "2013-12-03T17:15:43Z", - "updated_at": "2013-12-03T17:15:43Z", - "template": false, - "description": "Platform related issues", - "type": "ProjectLabel", - "group_id": 41 - } - ] + "previous": [{ + "id": 206, + "title": "API", + "color": "#ffffff", + "project_id": 14, + "created_at": "2013-12-03T17:15:43Z", + "updated_at": "2013-12-03T17:15:43Z", + "template": false, + "description": "API related issues", + "type": "ProjectLabel", + "group_id": 41 + }], + "current": [{ + "id": 205, + "title": "Platform", + "color": "#123123", + "project_id": 14, + "created_at": "2013-12-03T17:15:43Z", + "updated_at": "2013-12-03T17:15:43Z", + "template": false, + "description": "Platform related issues", + "type": "ProjectLabel", + "group_id": 41 + }] } }, "assignees": [