Fill missing Feature Library metadata for four nav items
What does this MR do and why?
Fills gaps in the Feature Library modal metadata for four sidebar items. Each sidebar menu item carries description, tier, and library_icon (see lib/sidebars/menu_item.rb). The modal renders them as a card with icon, title, description, and tier badge. Items without a description are also excluded from the AI feature-search catalog, because Onboarding::FeatureLibrary::CatalogBuilder only keeps items that have one.
Changes:
- External issue tracker (
lib/sidebars/projects/menus/external_issue_tracker_menu.rb): addslibrary_icon: 'external-link'(the icon the item already uses in the sidebar) and the description "View issues in your external issue tracker". The card title comes from the integration (Jira, Bugzilla, Redmine, Custom issue tracker). Before, the card had no icon and no description. - Security capabilities (
ee/lib/ee/sidebars/projects/menus/security_compliance_menu.rb,discover_project_security): addslibrary_icon: 'shield'and the description "Explore GitLab security and compliance capabilities". Tier stays at the Free default because the discover page itself is not license-gated. This item only renders on GitLab.com for namespace admins whose namespace lacks the security dashboard feature. - MCP servers, project level (
ee/lib/sidebars/projects/super_sidebar_menus/duo_agents_menu.rb): adds the description "Connect MCP servers to extend agent tooling", the string the group-level item already used. No new translation string. Tier was alreadyadd_on. - Observe > Setup (
lib/sidebars/projects/menus/observe_menu.rb,lib/sidebars/groups/menus/observability_menu.rb): renamed to "Observability configuration" for projects and groups. The bare word "Setup" is ambiguous as a standalone card.spec/support/shared_contexts/navbar_structure_context.rbupdated to match.
locale/gitlab.pot regenerated. Specs added for the three metadata changes.
Closes #628322 (closed)
References
- Tailored navigation rollout checklist: #621643 (items "Missing icons", "Missing descriptions and tier mapping", "Needs better naming")
- Design report for the Custom issue tracker icon: #604008 (comment 3796405059)
- Rollout epic: &22184
Screenshots or screen recordings
| Before | After |
|---|---|
| Custom issue tracker and Security capabilities cards had no icon and no description. Project-level MCP servers card had no description. Observe card was titled "Setup". | ![]() |
Recorded on GDK. Cards shown in order: Custom issue tracker (project with a Custom issue tracker integration), MCP servers, Observability configuration, Security capabilities (simulated SaaS, Free-plan group).
How to set up and validate locally
- On a project, add a Custom issue tracker integration (Settings > Integrations > Custom issue tracker) with any URLs and enable it.
- Open the project sidebar and click More features. Search for the integration name (for example "Custom issue tracker"). The card shows the external-link icon and the description.
- Search for "MCP". The project-level "MCP servers" card shows a description. This needs GitLab Duo features enabled on the project and the
read_ai_catalog_mcp_serverpermission. - Search for "Observability". The card is titled "Observability configuration". The same title appears in the Observe section of the project and group sidebars.
- For the "Security capabilities" card: run GitLab with
GITLAB_SIMULATE_SAAS=1, use a project in a namespace without the security dashboard feature, and sign in as a namespace admin. The card shows the shield icon and a description.
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.
