feat(integrations): Toggle features at organization integration level
We need to allow users to be able to toggle features for integrations at their organization integration level. If users do not like or want the features, they should have the power to turn them on or off at their disposal.
The previous FE implementation was doing this at the organization model level, but we can leverage the organization integration model/object to hold and control these settings. Added a custom component that will handle doing this toggling across the integration, and made it integration agnostic to be used across all the other integrations as well.
We can slowly migrate the github piece to this functionality. There is more work to be done on the FE side to help improve this code area, but it would require a lot of effort and changes that we can follow up with after better planning.
https://github.com/getsentry/sentry/assets/5581484/1213ca25-19d7-417e-89f2-166aada6b7ec
Requires: https://github.com/getsentry/sentry/pull/70620
🚨 Warning: This pull request contains Frontend and Backend changes!
It's discouraged to make changes to Sentry's Frontend and Backend in a single pull request. The Frontend and Backend are not atomically deployed. If the changes are interdependent of each other, they must be separated into two pull requests and be made forward or backwards compatible, such that the Backend or Frontend can be safely deployed independently.
Have questions? Please ask in the #discuss-dev-infra channel.
should we be using Form and JsonForm? it would keep the styling that's already present in the Github features page https://github.com/getsentry/sentry/blob/1a913b72556f24a9def277b85d5c672eec772c96/static/app/views/settings/organizationIntegrations/integrationDetailedView.tsx#L388-L405
should we be using Form and JsonForm? it would keep the styling that's already present in the Github features page
https://github.com/getsentry/sentry/blob/1a913b72556f24a9def277b85d5c672eec772c96/static/app/views/settings/organizationIntegrations/integrationDetailedView.tsx#L388-L405
Unfortunately we can't use that because of the way we're calling the API to update all configs as a global state
Closing this in favor of following existing convention to keep UI the same