Protected branches API

Note:This feature was introduced in GitLab 9.5

Valid access levels

The access levels are defined in theProtectedRefAccess::ALLOWED_ACCESS_LEVELS常数。目前,这些水平re recognized:

0 => No access30 => Developer access40 => Master access

List protected branches

Gets a list of protected branches from a project.

GET /projects/:id/protected_branches
Attribute Type Required Description
id integer/string yes The ID orURL-encoded path of the projectowned by the authenticated user
旋度--header"PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK"'https://gitlab.example.com/api/v4/projects/5/protected_branches'

Example response:

[{"name":"master","push_access_levels":[{"access_level":40,"access_level_description":"Masters"}],"merge_access_levels":[{"access_level":40,"access_level_description":"Masters"}]},...]

Get a single protected branch or wildcard protected branch

Gets a single protected branch or wildcard protected branch.

GET /projects/:id/protected_branches/:name
Attribute Type Required Description
id integer/string yes The ID orURL-encoded path of the projectowned by the authenticated user
name string yes The name of the branch or wildcard
旋度--header"PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK"'https://gitlab.example.com/api/v4/projects/5/protected_branches/master'

Example response:

{"name":"master","push_access_levels":[{"access_level":40,"access_level_description":"Masters"}],"merge_access_levels":[{"access_level":40,"access_level_description":"Masters"}]}

Protect repository branches

Protects a single repository branch or several project repository branches using a wildcard protected branch.

POST /projects/:id/protected_branches
旋度——请求POST--header"PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK"'https://gitlab.example.com/api/v4/projects/5/protected_branches?name=*-stable&push_access_level=30&merge_access_level=30'
Attribute Type Required Description
id integer/string yes The ID orURL-encoded path of the projectowned by the authenticated user
name string yes The name of the branch or wildcard
push_access_level string no Access levels allowed to push (defaults:40, master access level)
merge_access_level string no Access levels allowed to merge (defaults:40, master access level)

Example response:

{"name":"*-stable","push_access_levels":[{"access_level":30,"access_level_description":"Developers + Masters"}],"merge_access_levels":[{"access_level":30,"access_level_description":"Developers + Masters"}]}

Unprotect repository branches

Unprotects the given protected branch or wildcard protected branch.

DELETE /projects/:id/protected_branches/:name
旋度——请求DELETE--header"PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK"'https://gitlab.example.com/api/v4/projects/5/protected_branches/*-stable'
Attribute Type Required Description
id integer/string yes The ID orURL-encoded path of the projectowned by the authenticated user
name string yes The name of the branch
Baidu
map