Skip to content

Protected packages: REST API DELETE package protection rules

  • Please check this box if this contribution uses AI-generated content (including content generated by GitLab Duo features) as outlined in the GitLab DCO & CLA

What does this MR do and why?

Protected packages: REST API DELETE package protection rules

Adds a DELETE route to the REST API to delete package protection rules for a given rule id.

This is part of #457512 (closed) and still behind a feature flag.

🛠 with at Siemens

Database Queries

The following query will be executed when an item is deleted:

Packages::Protection::Rule Destroy (0.7ms)  DELETE FROM "packages_protection_rules" WHERE "packages_protection_rules"."id" = 3

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

MR Checklist ( @nwittstruck)

How to set up and validate locally

  1. Enable feature flag via rails c
Feature.enable(:packages_protected_packages)
  1. Create a package protection rule that we will delete in the next step
Packages::Protection::Rule.create(
  project: Project.find(7),
  package_type: :npm,
  push_protected_up_to_access_level: Gitlab::Access::DEVELOPER,
  package_name_pattern: "@gitlab-org/npm-package-new-enum-*"
)
  1. Find the global id of the package protection rule that we want to delete
Packages::Protection::Rule.where(package_name_pattern: "@gitlab-org/npm-package-new-enum-*").first.id
=> 32
  1. Now, you should be able to send mutation requests via the REST api
curl -k --request DELETE \
  --url https://gdk.test:3443/api/v4/projects/7/packages/protection/rules/32 \
  --header 'Authorization: Bearer ypCa3Dzb23o5nvsixwPA'
Edited by Nicholas Wittstruck

Merge request reports

Loading