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): adds library_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): adds library_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 already add_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.rb updated 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". feature-library-metadata

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

  1. On a project, add a Custom issue tracker integration (Settings > Integrations > Custom issue tracker) with any URLs and enable it.
  2. 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.
  3. 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_server permission.
  4. Search for "Observability". The card is titled "Observability configuration". The same title appears in the Observe section of the project and group sidebars.
  5. 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.

🤖 Generated with Claude Code

Edited by Anas Shahid

Merge request reports

Loading
Loading