Skip to content

Add frontend for instance-level integration overrides

What does this MR do?

This MR adds a listing of projects using custom settings (what we refer to as "overrides") for a specific integration. It's behind the feature flag instance_level_integration_overrides (#336750 (closed)).

  • Fetch overrides from the backend along with pagination info.
  • Add table with overrides that shows the project avatar, name and links to project root path. In future iterations, this will include an Actions column that will allow admins to reset such project integrations.
  • Pagination for overrides that only shows when there are more than 20 records.

Screenshots or Screencasts (strongly suggested)

image

How to setup and validate locally (strongly suggested)

  1. Enable the feature
    Feature.enable(:instance_level_integration_overrides)
  2. Visit a project's Campfire integration setting page such as http://127.0.0.1:3000/flightjs/flight/-/services/campfire/edit.
  3. Enter anything into the "Campfire token" field and save.
  4. Visit the instance admin's Campfire integration setting page http://127.0.0.1:3000/admin/application_settings/integrations/campfire/edit.
  5. Click the "Projects using custom settings" tab.
  6. The project should appear in the list.
  7. Click the "Settings" tab now.
  8. Enter a different "Campfire token" into the field and save. A modal will appear. Click save.
  9. Visit the same project's Campfire integration setting page again such as http://127.0.0.1:3000/flightjs/flight/-/services/campfire/edit.
  10. Change the drop-down from "Use custom settings" to "Use default settings".
  11. Click save.
  12. Visit the instance admin's "Projects using custom settings" page again http://127.0.0.1:3000/admin/application_settings/integrations/campfire/overrides.
  13. The project should no longer appear in the list.

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Related to #218252 (closed)

Edited by Luke Duncalfe

Merge request reports