projects

Create a package protection rule

Creates a package protection rule for a specified project.

post/api/v4/projects/{id}/packages/protection/rules

Request

  • Base URL
    https://gitlab.com
  • Auth
    none declared

Path parameters

idstring required

The ID or URL-encoded path of the project

Request body

package_name_patternstring required

Package name protected by the rule. For example @my-scope/my-package-*. Wildcard character * allowed.

package_type'cargo' | 'conan' | 'generic' | 'helm' | 'maven' | 'npm' | 'nuget' | 'pypi' | 'rubygems' | 'terraform_module' required

Package type protected by the rule. For example npm.

minimum_access_level_for_delete'owner' | 'admin'

Minimum GitLab access level required to delete a package. Valid values include null, owner or admin. If the value is null, the default minimum access level is maintainer. Must be provided when minimum_access_level_for_push is not set. Behind a feature flag named packages_protected_packages_delete. Disabled by default.

minimum_access_level_for_push'maintainer' | 'owner' | 'admin'

Minimum GitLab access level required to push a package. Valid values include null, maintainer, owner or admin. If the value is null, the default minimum access level is developer. Must be provided when minimum_access_level_for_delete is not set.

Response

Create a package protection rule

idinteger required
project_idinteger required
package_name_patternstring required
package_typestring required
minimum_access_level_for_deletestring required
minimum_access_level_for_pushstring required

Example response

{
  "id": 1,
  "project_id": 1,
  "package_name_pattern": "flightjs/flight",
  "package_type": "npm",
  "minimum_access_level_for_delete": "owner",
  "minimum_access_level_for_push": "maintainer"
}

Changes

No recorded changes to this operation across all 5 revisions of this API.