Sign in or sign up before continuing. Don't have an account yet? Register now to get started.
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**
1. **Investigation**: Verify the properties JSON structure via the GitLab API.
2. **Struct Definition**: Implement dedicated structs (embedding **`Integration`**) and their Property structs for:
* Discord
* Telegram
* Mattermost
* Matrix
* Google Chat
3. **Refactor**: Update method signatures in the **`IntegrationsService`** to return these new typed structs.
4. **Validation**: Update mocks and add relevant unit tests.
### **Change Need Implemented**
* **Discord**: Add
**`DiscordIntegration`**,
**`DiscordIntegrationProperties`**
, and
**`GetGroupDiscordSettings`**
.
* **Telegram**: Add
**`TelegramIntegration`**
**`TelegramIntegrationProperties`**
, and
**`GetGroupTelegramSettings`**
.
* **Mattermost**: Add
**`MattermostIntegration`**
**`MattermostIntegrationProperties`**
, and
**`GetGroupMattermostSettings`**
.
* **Matrix**: Add
**`MatrixIntegration`**
**`MatrixIntegrationProperties`**
, and
**`GetGroupMatrixSettings`**
.
* **Google Chat**: Add
**`GoogleChatIntegration`**
**`GoogleChatIntegrationProperties`**
, and
**`GetGroupGoogleChatSettings`**
.
Unlike the previous issues on this list, we are targeting the `main` branch!
---
https://gitlab.com/gitlab-org/api/client-go/-/issues/2198
issue