群组和项目访问请求 API

  • Tier: 基础版,专业版,旗舰版
  • Offering: JihuLab.com, 私有化部署

使用此 API 与群组和项目的访问请求进行交互。

有效的访问级别#

访问级别在 Gitlab::Access 模块中定义,并识别以下级别:

  • 无访问权限 (0)
  • 最小访问权限 (5)
  • 访客 (10)
  • 计划者 (15)
  • 报告者 (20)
  • 开发者 (30)
  • 维护者 (40)
  • 拥有者 (50)

列出群组或项目的访问请求#

获取经过身份验证的用户可查看的访问请求列表。

plaintext
GET /groups/:id/access_requests GET /projects/:id/access_requests
属性类型必需描述
idinteger/string项目的 ID 或 URL 编码路径

示例请求:

shell
curl --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"

示例响应:

json
1[ 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]

请求访问群组或项目#

为经过身份验证的用户请求访问群组或项目。

plaintext
POST /groups/:id/access_requests POST /projects/:id/access_requests
属性类型必需描述
idinteger/string群组或项目的 ID 或 URL 编码路径

示例请求:

shell
curl --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"

示例响应:

json
1{ 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}

批准访问请求#

批准给定用户的访问请求。

plaintext
PUT /groups/:id/access_requests/:user_id/approve PUT /projects/:id/access_requests/:user_id/approve
属性类型必需描述
idinteger/string项目的 ID 或 URL 编码路径
user_idinteger访问请求者的用户 ID
access_levelinteger有效的访问级别(默认:30,开发者角色)

示例请求:

shell
curl --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"

示例响应:

json
1{ 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}

拒绝访问请求#

拒绝给定用户的访问请求。

plaintext
DELETE /groups/:id/access_requests/:user_id DELETE /projects/:id/access_requests/:user_id
属性类型必需描述
idinteger/string项目的 ID 或 URL 编码路径
user_idinteger访问请求者的用户 ID

示例请求:

shell
curl --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"