Recreate SlackIntegration records on descendant integration on update
What does this MR do and why?
This MR updates Integrations::Propagation::BulkUpdateService to recreate SlackIntegration records when a Slack workspace has been installed on a parent integration. Previously, if a user removed and re-added a Slack workspace to a GitLab for Slack App integration with descendant integrations, the new Slack workspace wouldn't be installed for descendant integrations, leaving descendant integrations inactive.
References
- Related to #468593 (closed)
How to set up and validate locally
- Follow the documentation steps to install the GitLab for Slack App integration on a group with descendant groups and projects: https://docs.gitlab.com/user/project/integrations/gitlab_slack_application/#install-the-gitlab-for-slack-app
- Once installed, unlink the workspace from the integration using the button with the trash can icon:
- Reinstall the Slack workspace on the integration by clicking the "Install GitLab for Slack App" button
- Verify that descendant integrations are active and linked to the Slack workspace
Query plans
See !202671 (comment 2737176708)
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.
Related to #468593 (closed)
Edited by Sam Word
