Protected branches API
Protected branches API
注意:此功能是在 GitLab 9.5 中引入的
有效的访问级别
访问级别在方法中定义. 当前,这些级别被认可:
从项目中获取受保护分支的列表.
GET /projects/:id/protected_branches
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/protected_branches"
响应示例:
[ { "id": 1, "name": "master", "push_access_levels": [ { "access_level": 40, "access_level_description": "Maintainers" } ], "merge_access_levels": [ { "access_level": 40, "access_level_description": "Maintainers" } ], "code_owner_approval_required": "false" }, ... ]
响应示例:
[ { "id": 1, "name": "master", "push_access_levels": [ { "access_level": 40, "user_id": null, "group_id": null, "access_level_description": "Maintainers" } ], "merge_access_levels": [ { "access_level": null, "user_id": null, "group_id": 1234, "access_level_description": "Example Merge Group" } ], "code_owner_approval_required": "false" }, ... ]
获取单个受保护分支或通配符受保护分支.
响应示例:
{ "id": 1, "name": "master", "push_access_levels": [ { "access_level": 40, "access_level_description": "Maintainers" } ], "merge_access_levels": [ { "access_level": 40, "access_level_description": "Maintainers" } ], "code_owner_approval_required": "false" }
使用 GitLab Starter,Bronze 或更高版本的用户还将看到user_id
和group_id
参数:
响应示例:
{ "id": 1, "name": "master", "push_access_levels": [ { "access_level": 40, "user_id": null, "group_id": null, "access_level_description": "Maintainers" } ], "merge_access_levels": [ { "access_level": null, "user_id": null, "group_id": 1234, "access_level_description": "Example Merge Group" } ], "code_owner_approval_required": "false" }
POST /projects/:id/protected_branches
响应示例:
{ "id": 1, "name": "*-stable", "push_access_levels": [ { "access_level": 30, "access_level_description": "Developers + Maintainers" } ], "merge_access_levels": [ { "access_level": 30, "access_level_description": "Developers + Maintainers" } ], "unprotect_access_levels": [ { "access_level": 40, "access_level_description": "Maintainers" } ], "code_owner_approval_required": "false" }
使用 GitLab 还将看到user_id
和group_id
参数:
响应示例:
/ allowed_to_merge
/ allowed_to_unprotect
数组中的元素应采用{user_id: integer}
, {group_id: integer}
或{access_level: integer}
. 每个用户必须有权访问该项目,并且每个组都必须共享该项目 . 这些访问级别允许进行更精细的控制,并在 GitLab 10.3 EE .
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/protected_branches?name=*-stable&allowed_to_push%5B%5D%5Buser_id%5D=1"
响应示例:
{ "id": 1, "name": "*-stable", "push_access_levels": [ { "access_level": null, "user_id": 1, "group_id": null, "access_level_description": "Administrator" } ], "merge_access_levels": [ { "access_level": 40, "user_id": null, "group_id": null, "access_level_description": "Maintainers" } ], "unprotect_access_levels": [ { "access_level": 40, "user_id": null, "group_id": null, "access_level_description": "Maintainers" } ], "code_owner_approval_required": "false" }
DELETE /projects/:id/protected_branches/:name
为给定的受保护分支受保护分支更新”需要代码所有者批准”选项.
PATCH /projects/:id/protected_branches/:name