Skip to content

Protect an environment for a project

POST
/api/v4/projects/{id}/protected_environments

Protects a specified environment for a project.

id
required
One of:
string

The ID or URL-encoded path of the project owned by the authenticated user

Media type application/json
object
name
required

The name of the environment

string
nullable
required_approval_count

[DEPRECATED] The number of approvals required to deploy to this environment

integer
0 nullable
deploy_access_levels
required

Array of access levels allowed to deploy, with each described by a hash. One of user_id, group_id or access_level. They take the form of {user_id: integer}, {group_id: integer} or {access_level: integer} respectively.

Array<object>
nullable
object
user_id

The ID of a user with access to the project

integer
nullable
group_id

The ID of a group with access to the project

integer
nullable
group_inheritance_type

Specify whether to take inherited group membership into account. Use 0 for direct group membership or 1 for all inherited groups. Default is 0

integer
nullable
Allowed values: 0 1
access_level

The access levels allowed to deploy

integer
nullable
Allowed values: 40 30 20 60
approval_rules

Array of access levels allowed to approve, with each described by a hash. One of user_id, group_id or access_level. They take the form of {user_id: integer}, {group_id: integer} or {access_level: integer} respectively. You can also specify the number of required approvals from the specified entity with required_approvals field.

Array<object>
nullable
object
user_id

The ID of a user with access to the project

integer
nullable
group_id

The ID of a group with access to the project

integer
nullable
group_inheritance_type

Specify whether to take inherited group membership into account. Use 0 for direct group membership or 1 for all inherited groups. Default is 0

integer
nullable
Allowed values: 0 1
id

The ID of the approval rule to update

integer
nullable
_destroy

Deletes the object when true

boolean
nullable
access_level

The access levels allowed to approve

integer
nullable
Allowed values: 40 30 20 60
required_approvals

The number of approvals required for this rule

integer
default: 1 nullable

Created

Media type application/json
object
name
string
deploy_access_levels
object
id
integer format: int64
access_level
integer
access_level_description
string
deploy_key_id
integer format: int64
user_id
integer format: int64
group_id
integer format: int64
member_role_id
integer format: int64
member_role_name
string
group_inheritance_type
integer
required_approval_count
integer
approval_rules
object
id
integer format: int64
user_id
integer format: int64
group_id
integer format: int64
access_level
integer
access_level_description
string
required_approvals
integer
group_inheritance_type
integer
Example
{
"name": "production",
"deploy_access_levels": {
"id": 1,
"access_level": 40,
"access_level_description": "Maintainers",
"deploy_key_id": 1,
"user_id": 1,
"group_id": 1,
"member_role_id": 42,
"member_role_name": "Lead Developer",
"group_inheritance_type": 0
},
"required_approval_count": 2
}

Bad Request

Not found

Conflict

Unprocessable entity