Add the Artifact Registry Organization access page

What does this MR do and why?

Adds an empty Artifact Registry page under Organization access. It is step 1.4 of Organization Access.

Builds on !259770 (merged), which adds the overview page. This MR targets that branch, so the diff shows only this step.

  • Page: GET /o/:organization_path/-/access/artifact-registry (artifact_registry_access_organization_path). It uses a fixed path, not a dynamic :resource route.
  • Controller: a new artifact_registry action on Organizations::AccessController. It reuses the feature flag and owner check from index.
  • View: ee/app/views/organizations/access/artifact_registry.html.haml, with a #js-organization-access-artifact-registry mount element and data-organization-path.
  • Breadcrumbs: "Organization access" (links to the overview), then "Artifact Registry". breadcrumb_title is set before page_title.
  • Generated files: JS route helper artifactRegistryAccessOrganizationPath, locale/gitlab.pot, and config/routing/gitlab_routes.json.

Not in this MR: the members UI (#629702).

Database: no changes.

References

Screenshots or screen recordings

Not needed. The page is empty until the Vue app lands.

How to set up and validate locally

  1. Enable org_pages and organization_access_ui.
  2. Sign in as an organization owner and visit /o/<path>/-/access/artifact-registry.
  3. Check the page loads, and the breadcrumbs end with "Organization access" > "Artifact Registry".
  4. Disable organization_access_ui. The page returns 404.

Tests: ee/spec/requests/organizations/access_controller_spec.rb covers the owner 200 with the mount element, the breadcrumbs from data-breadcrumbs-json, flag off 404, and signed-out redirect.

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 Tim Rizzi

Merge request reports

Loading
Loading