群组和项目访问请求 API
- Tier: 基础版,专业版,旗舰版
- Offering: JihuLab.com, 私有化部署
使用此 API 与群组和项目的访问请求进行交互。
有效的访问级别
访问级别在 Gitlab::Access 模块中定义,并识别以下级别:
- 无访问权限 (0)
- 最小访问权限 (5)
- 访客 (10)
- 计划者 (15)
- 报告者 (20)
- 开发者 (30)
- 维护者 (40)
- 拥有者 (50)
列出群组或项目的访问请求
获取经过身份验证的用户可查看的访问请求列表。
plaintextGET /groups/:id/access_requests GET /projects/:id/access_requests
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
| id | integer/string | 是 | 项目的 ID 或 URL 编码路径 |
示例请求:
shellcurl --header "PRIVATE-TOKEN: <your_access_token>" \ --url "https://gitlab.example.com/api/v4/groups/:id/access_requests" curl --header "PRIVATE-TOKEN: <your_access_token>" \ --url "https://gitlab.example.com/api/v4/projects/:id/access_requests"
示例响应:
json1[ 2 { 3 "id": 1, 4 "username": "raymond_smith", 5 "name": "Raymond Smith", 6 "state": "active", 7 "locked": false, 8 "avatar_url": "https://gitlab.com/uploads/-/system/user/avatar/1/avatar.png", 9 "web_url": "https://gitlab.com/raymond_smith", 10 "requested_at": "2024-10-22T14:13:35Z" 11 }, 12 { 13 "id": 2, 14 "username": "john_doe", 15 "name": "John Doe", 16 "state": "active", 17 "locked": false, 18 "avatar_url": "https://gitlab.com/uploads/-/system/user/avatar/2/avatar.png", 19 "web_url": "https://gitlab.com/john_doe", 20 "requested_at": "2024-10-22T14:13:35Z" 21 } 22]
请求访问群组或项目
为经过身份验证的用户请求访问群组或项目。
plaintextPOST /groups/:id/access_requests POST /projects/:id/access_requests
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
| id | integer/string | 是 | 群组或项目的 ID 或 URL 编码路径 |
示例请求:
shellcurl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \ --url "https://gitlab.example.com/api/v4/groups/:id/access_requests" curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \ --url "https://gitlab.example.com/api/v4/projects/:id/access_requests"
示例响应:
json1{ 2 "id": 1, 3 "username": "raymond_smith", 4 "name": "Raymond Smith", 5 "state": "active", 6 "created_at": "2012-10-22T14:13:35Z", 7 "requested_at": "2012-10-22T14:13:35Z" 8}
批准访问请求
批准给定用户的访问请求。
plaintextPUT /groups/:id/access_requests/:user_id/approve PUT /projects/:id/access_requests/:user_id/approve
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
| id | integer/string | 是 | 项目的 ID 或 URL 编码路径 |
| user_id | integer | 是 | 访问请求者的用户 ID |
| access_level | integer | 否 | 有效的访问级别(默认:30,开发者角色) |
示例请求:
shellcurl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \ --url "https://gitlab.example.com/api/v4/groups/:id/access_requests/:user_id/approve?access_level=20" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \ --url "https://gitlab.example.com/api/v4/projects/:id/access_requests/:user_id/approve?access_level=20"
示例响应:
json1{ 2 "id": 1, 3 "username": "raymond_smith", 4 "name": "Raymond Smith", 5 "state": "active", 6 "created_at": "2012-10-22T14:13:35Z", 7 "access_level": 20 8}
拒绝访问请求
拒绝给定用户的访问请求。
plaintextDELETE /groups/:id/access_requests/:user_id DELETE /projects/:id/access_requests/:user_id
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
| id | integer/string | 是 | 项目的 ID 或 URL 编码路径 |
| user_id | integer | 是 | 访问请求者的用户 ID |
示例请求:
shellcurl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \ --url "https://gitlab.example.com/api/v4/groups/:id/access_requests/:user_id" curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \ --url "https://gitlab.example.com/api/v4/projects/:id/access_requests/:user_id"