Update Protected Packages Feature to Allow Rule Editing

Update Protected Packages Feature to Allow Rule Editing

Background

Currently, the protected packages feature only allows users to delete and re-add rules, unlike the recently updated protected container tags feature which permits rule editing without deletion. This discrepancy in functionality can lead to a suboptimal user experience.

Problem Statement

Users cannot edit existing rules for protected packages without deleting them and re-adding the modified version. This process is cumbersome and potentially error-prone, as it introduces unnecessary steps and the risk of data loss during the deletion process.

Proposed Solution

Update the protected packages feature to allow in-place rule editing, similar to the functionality planned (https://gitlab.com/gitlab-org/gitlab/-/issues/499871/designs/applied.png) for protected container tags. This enhancement will streamline the user experience and bring consistency across GitLab's protection features.

User Story

As a GitLab user managing protected packages, I want to be able to edit existing protection rules directly, So that I can modify package protections efficiently without the risk of data loss or the need for unnecessary steps.

Acceptance Criteria

  1. Users can edit existing protected package rules without deleting them first.
  2. The edit functionality is available through the GitLab UI, similar to the protected container tags feature.
  3. All existing rule properties can be modified during the edit process.
  4. Changes are saved and applied immediately upon submission of the edited rule.
  5. The UI provides clear feedback on successful rule updates.
  6. The API is updated to support rule editing for protected packages.

Benefits

  • Improved user experience by reducing the number of steps required to modify package protection rules.
  • Reduced risk of errors or data loss that could occur during the delete-and-recreate process.
  • Consistency across GitLab's protection features, making the platform more intuitive to use.
Assignee Loading
Time tracking Loading