Skip to content

Commit 2ce86a2

Browse files
committed
Fixed webhooks changes deserialization (#325, #331).
1 parent b8206c7 commit 2ce86a2

File tree

3 files changed

+86
-28
lines changed

3 files changed

+86
-28
lines changed

src/main/java/org/gitlab4j/api/webhook/EventChanges.java

Lines changed: 57 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,44 +2,89 @@
22

33
import java.util.Date;
44
import java.util.List;
5-
import java.util.Map;
65

76
import javax.xml.bind.annotation.XmlAccessType;
87
import javax.xml.bind.annotation.XmlAccessorType;
98

9+
import org.gitlab4j.api.models.Assignee;
1010
import org.gitlab4j.api.utils.JacksonJson;
1111

1212
@XmlAccessorType(XmlAccessType.FIELD)
1313
public class EventChanges {
1414

15-
private List<Integer> updatedById;
16-
private List<Date> updatedAt;
17-
private Map<String, List<EventLabel>> labels;
15+
private ChangeContainer<Date> updatedAt;
16+
private ChangeContainer<Integer> updatedById;
17+
private ChangeContainer<Date> dueDate;
18+
private ChangeContainer<Integer> milestoneId;
19+
private ChangeContainer<List<EventLabel>> labels;
20+
private ChangeContainer<List<Assignee>> assignees;
21+
private ChangeContainer<Integer> totalTimeSpent;
22+
private ChangeContainer<Boolean> confidential;
1823

19-
public List<Integer> getUpdatedById() {
24+
public ChangeContainer<Date> getUpdatedAt() {
25+
return updatedAt;
26+
}
27+
28+
public void setUpdatedAt(ChangeContainer<Date> updatedAt) {
29+
this.updatedAt = updatedAt;
30+
}
31+
32+
public ChangeContainer<Integer> getUpdatedById() {
2033
return updatedById;
2134
}
2235

23-
public void setUpdatedById(List<Integer> updatedById) {
36+
public void setUpdatedById(ChangeContainer<Integer> updatedById) {
2437
this.updatedById = updatedById;
2538
}
2639

27-
public List<Date> getUpdatedAt() {
28-
return updatedAt;
40+
public ChangeContainer<Date> getDueDate() {
41+
return dueDate;
2942
}
3043

31-
public void setUpdatedAt(List<Date> updatedAt) {
32-
this.updatedAt = updatedAt;
44+
public void setDueDate(ChangeContainer<Date> dueDate) {
45+
this.dueDate = dueDate;
46+
}
47+
48+
public ChangeContainer<Integer> getMilestoneId() {
49+
return milestoneId;
50+
}
51+
52+
public void setMilestoneId(ChangeContainer<Integer> milestoneId) {
53+
this.milestoneId = milestoneId;
3354
}
3455

35-
public Map<String, List<EventLabel>> getLabels() {
56+
public ChangeContainer<List<EventLabel>> getLabels() {
3657
return labels;
3758
}
3859

39-
public void setLabels(Map<String, List<EventLabel>> labels) {
60+
public void setLabels(ChangeContainer<List<EventLabel>> labels) {
4061
this.labels = labels;
4162
}
4263

64+
public ChangeContainer<List<Assignee>> getAssignees() {
65+
return assignees;
66+
}
67+
68+
public void setAssignees(ChangeContainer<List<Assignee>> assignees) {
69+
this.assignees = assignees;
70+
}
71+
72+
public ChangeContainer<Integer> getTotalTimeSpent() {
73+
return totalTimeSpent;
74+
}
75+
76+
public void setTotalTimeSpent(ChangeContainer<Integer> totalTimeSpent) {
77+
this.totalTimeSpent = totalTimeSpent;
78+
}
79+
80+
public ChangeContainer<Boolean> getConfidential() {
81+
return confidential;
82+
}
83+
84+
public void setConfidential(ChangeContainer<Boolean> confidential) {
85+
this.confidential = confidential;
86+
}
87+
4388
@Override
4489
public String toString() {
4590
return (JacksonJson.toJsonString(this));

src/test/resources/org/gitlab4j/api/issue-event.json

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -51,21 +51,28 @@
5151
"username": "user1",
5252
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=40\u0026d=identicon"
5353
},
54-
"labels": [{
55-
"id": 206,
56-
"title": "API",
57-
"color": "#ffffff",
58-
"project_id": 14,
59-
"created_at": "2013-12-03T17:15:43Z",
60-
"updated_at": "2013-12-03T17:15:43Z",
61-
"template": false,
62-
"description": "API related issues",
63-
"type": "ProjectLabel",
64-
"group_id": 41
65-
}],
54+
"labels":[],
6655
"changes": {
67-
"updated_by_id": [null, 1],
68-
"updated_at": ["2017-09-15T16:50:55Z", "2017-09-15T16:52:00Z"],
56+
"due_date":{
57+
"previous": "2020-06-01T08:00:00Z",
58+
"current": "2020-02-04T08:00:00Z"
59+
},
60+
"updated_at": {
61+
"previous":"2019-04-12T01:10:28Z",
62+
"current":"2019-04-12T01:11:33Z"
63+
},
64+
"updated_by_id": {
65+
"previous": 2,
66+
"current": 6
67+
},
68+
"milestone_id": {
69+
"previous":0,
70+
"current":1
71+
},
72+
"confidential": {
73+
"previous":true,
74+
"current":false
75+
},
6976
"labels": {
7077
"previous": [{
7178
"id": 206,

src/test/resources/org/gitlab4j/api/merge-request-event.json

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,14 @@
104104
"group_id": 41
105105
}],
106106
"changes": {
107-
"updated_by_id": [null, 1],
108-
"updated_at": ["2017-09-15T16:50:55Z", "2017-09-15T16:52:00Z"],
107+
"updated_at": {
108+
"previous":"2019-04-12T01:10:28Z",
109+
"current":"2019-04-12T01:11:33Z"
110+
},
111+
"updated_by_id": {
112+
"previous": 2,
113+
"current": 6
114+
},
109115
"labels": {
110116
"previous": [{
111117
"id": 206,

0 commit comments

Comments
 (0)