Sort integrations by popularity
Summary
This MR implements sorting of integrations by popularity based on usage data from the last 12 months on GitLab.com. This is the first step in improving the integrations page UX to help users discover and install popular integrations more easily.
Changes
- Updated
Groups::Settings::IntegrationsController#indexto sort integrations by popularity instead of alphabetically - Updated
Projects::Settings::IntegrationsController#indexto sort integrations by popularity instead of alphabetically - Added
INTEGRATION_POPULARITY_ORDERconstant in both controllers with the ranking based on the number of ultimate parent namespaces that have installed each integration
Popularity Data
The popularity ranking is based on the following query from the last 12 months:
SELECT
INTEGRATION_TYPE,
COUNT(DISTINCT ULTIMATE_PARENT_NAMESPACE_ID) AS total_ultimate_namespaces
FROM PROD.COMMON.DIM_INTEGRATION
WHERE CREATED_AT > CURRENT_DATE - INTERVAL '12 months'
GROUP BY 1
ORDER BY 2 DESC
Top integrations by adoption:
- Jira Cloud App (15,306 namespaces)
- Jira (6,486 namespaces)
- GitLab Slack Application (5,819 namespaces)
- Discord (3,794 namespaces)
- Slack (2,964 namespaces)
Related Issue
Closes #581749
Testing
- Verify that integrations are displayed in popularity order on both group and project settings pages
- Verify that integrations not in the popularity list appear at the end of the list
- Verify that the page still functions correctly with all existing features