Skip to content

Commit 28f43e5

Browse files
authored
Add work item support to WebHookManager (#1215)
1 parent 7f6aa16 commit 28f43e5

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

gitlab4j-api/src/main/java/org/gitlab4j/api/WebHookManager.java

+12
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.gitlab4j.api.webhook.TagPushEvent;
2424
import org.gitlab4j.api.webhook.WebHookListener;
2525
import org.gitlab4j.api.webhook.WikiPageEvent;
26+
import org.gitlab4j.api.webhook.WorkItemEvent;
2627

2728
/**
2829
* This class provides a handler for processing GitLab WebHook callouts.
@@ -186,6 +187,7 @@ public void handleEvent(Event event) throws GitLabApiException {
186187
case WikiPageEvent.OBJECT_KIND:
187188
case ReleaseEvent.OBJECT_KIND:
188189
case DeploymentEvent.OBJECT_KIND:
190+
case WorkItemEvent.OBJECT_KIND:
189191
fireEvent(event);
190192
break;
191193

@@ -270,6 +272,10 @@ public void fireEvent(Event event) throws GitLabApiException {
270272
fireDeploymentEvent((DeploymentEvent) event);
271273
break;
272274

275+
case WorkItemEvent.OBJECT_KIND:
276+
fireWorkItemEvent((WorkItemEvent) event);
277+
break;
278+
273279
default:
274280
String message = "Unsupported event object_kind, object_kind=" + event.getObjectKind();
275281
LOGGER.warning(message);
@@ -337,6 +343,12 @@ protected void fireDeploymentEvent(DeploymentEvent deploymentEvent) {
337343
}
338344
}
339345

346+
protected void fireWorkItemEvent(WorkItemEvent workItemEvent) {
347+
for (WebHookListener listener : webhookListeners) {
348+
listener.onWorkItemEvent(workItemEvent);
349+
}
350+
}
351+
340352
protected void fireReleaseEvent(ReleaseEvent releaseEvent) {
341353
for (WebHookListener listener : webhookListeners) {
342354
listener.onReleaseEvent(releaseEvent);

gitlab4j-models/src/main/java/org/gitlab4j/api/webhook/WebHookListener.java

+7
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,13 @@ default void onWikiPageEvent(WikiPageEvent wikiEvent) {}
7676
*/
7777
default void onDeploymentEvent(DeploymentEvent deploymentEvent) {}
7878

79+
/**
80+
* This method is called when a WebHook work item event has been received.
81+
*
82+
* @param workItemEvent the WorkItemEvent instance
83+
*/
84+
default void onWorkItemEvent(WorkItemEvent workItemEvent) {}
85+
7986
/**
8087
* This method is called when a WebHook release event has been received.
8188
*

0 commit comments

Comments
 (0)