Add work item support to missing chat integrations
What does this MR do and why?
Add work_item and confidential_work_item events to the supported_events list for the following chat integrations:
- Discord (
Integrations::Discord) - Google Chat (
Integrations::HangoutsChat) - Microsoft Teams(
Integrations::MicrosoftTeams) - Pumble (
Integrations::Pumble) - Unify Circuit (
Integrations::UnifyCircuit) - Webex Teams (
Integrations::WebexTeams)
This enables Service Desk tickets and other work items (like tasks) to trigger chat notifications by leveraging the existing Integrations::Base::ChatNotification mapping that treats work_item events as issue events introduced in !218621 (merged).
Notes
- While reviewing the integrations code, I noticed that non-chat integrations which support issue event notifications (like
Integrations::SquashTm) inherit from a different base class (Integrations::Base::Integration) than chat integrations (Integrations::Base::ChatNotification). As a result, similar changes from !218621 (merged) will be required to handle work items as issue events for those non-chat integrations. It will be addressed in a follow-up issue: #587544.
References
Screenshots or screen recordings
| Settings | Notifications | |
|---|---|---|
| Discord |
|
|
| Google Chat |
|
|
How to set up and validate locally
Discord
- Create a Discord webhook.
- Configure the webhook in GitLab.
- Create an issue, a task, and a Service Desk ticket in GitLab. Tip: Use this snippet to create a ticket.
- Verify that you receive Discord chat notifications for all three items.
Google Chat
- Configure the integration in Google Chat.
- Configure the integration in GitLab.
- Create an issue, a task, and a Service Desk ticket in GitLab. Tip: Use this snippet to create a ticket.
- Verify that you receive Google Chat notifications for all three items.
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Edited by Agnes Slota



