Skip to content

Create a package protection rule

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

Creates a package protection rule for a specified project.

id
required
One of:
string

The ID or URL-encoded path of the project

Media type application/json
object
package_name_pattern
required

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

string
nullable
package_type
required

Package type protected by the rule. For example npm.

string
>= 1 characters
Allowed values: cargo conan generic helm maven npm nuget pypi terraform_module
minimum_access_level_for_delete

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.

string
nullable
Allowed values: owner admin
minimum_access_level_for_push

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.

string
nullable
Allowed values: maintainer owner admin

Created

Media type application/json
object
id
integer format: int64
project_id
integer format: int64
package_name_pattern
string
package_type
string
minimum_access_level_for_delete
string
minimum_access_level_for_push
string
Example
{
"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"
}

Bad Request

Unauthorized

Forbidden

Not Found

Unprocessable Entity