Add Chat & Notify Get*Settings to use typed structs
Add Discord, Telegram, Mattermost, Matrix, and Google Chat integrations and use the v2.0 typed struct pattern.
Instructions
- Investigation: Verify the properties JSON structure via the GitLab API.
-
Struct Definition: Implement dedicated structs (embedding
Integration) and their Property structs for:- Discord
- Telegram
- Mattermost
- Matrix
- Google Chat
-
Refactor: Update method signatures in the
IntegrationsServiceto return these new typed structs. - Validation: Update mocks and add relevant unit tests.
Change Need Implemented
-
Discord: Add
DiscordIntegration,DiscordIntegrationProperties, and
GetGroupDiscordSettings.
-
Telegram: Add
TelegramIntegrationTelegramIntegrationProperties, and
GetGroupTelegramSettings.
-
Mattermost: Add
MattermostIntegrationMattermostIntegrationProperties, and
GetGroupMattermostSettings.
-
Matrix: Add
MatrixIntegrationMatrixIntegrationProperties, and
GetGroupMatrixSettings.
-
Google Chat: Add
GoogleChatIntegrationGoogleChatIntegrationProperties, and
GetGroupGoogleChatSettings.
Unlike the previous issues on this list, we are targeting the main branch!
Edited by 🤖 GitLab Bot 🤖