Add slack integration support
Closes #2201 (closed)
As discussed here !2670 (merged), integrations should have dedicated structs that was ment for the `release-client-2.0`.
But, for the integrations that do not exist, we will target the main Instead, as discussed here: !2681 (closed)
This is what the API returns
curl -s -X GET "${API_URL}/groups/${GROUP_ID}/integrations/slack" \
-H "PRIVATE-TOKEN: ${GITLAB_TOKEN}" \
-H "Content-Type: application/json" | jq .
{
"id": 53,
"title": "Slack notifications",
"slug": "slack",
"created_at": "2026-01-23T17:52:37.490Z",
"updated_at": "2026-01-23T17:52:37.490Z",
"active": true,
"commit_events": true,
"push_events": true,
"issues_events": true,
"incident_events": false,
"alert_events": true,
"confidential_issues_events": true,
"merge_requests_events": true,
"tag_push_events": true,
"deployment_events": false,
"note_events": true,
"confidential_note_events": true,
"pipeline_events": true,
"wiki_page_events": true,
"job_events": true,
"comment_on_event_enabled": true,
"inherited": false,
"properties": {
"username": "testuser",
"channel": "general",
"notify_only_broken_pipelines": true,
"branches_to_be_notified": "default",
"labels_to_be_notified": "bug",
"labels_to_be_notified_behavior": "match_any",
"push_channel": "push-channel",
"issue_channel": "issue-channel",
"confidential_issue_channel": "conf-issue-channel",
"merge_request_channel": "mr-channel",
"note_channel": "note-channel",
"confidential_note_channel": "conf-note-channel",
"tag_push_channel": "tag-push-channel",
"pipeline_channel": "pipeline-channel",
"wiki_page_channel": "wiki-channel",
"deployment_channel": "deploy-channel",
"incident_channel": "incident-channel",
"alert_channel": "alert-channel",
"group_mention_channel": "mention-channel",
"group_confidential_mention_channel": "conf-mention-channel"
}
}
Part of: Epic #2198 - Refactor Integration Get*Settings Breaking Change: New methods added to IntegrationsServiceInterface