{{< details >}}

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

{{< /details >}}

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

有效的访问级别

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

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

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

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

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

示例请求:

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"

示例响应:

[
 {
   "id": 1,
   "username": "raymond_smith",
   "name": "Raymond Smith",
   "state": "active",
   "locked": false,
   "avatar_url": "https://gitlab.com/uploads/-/system/user/avatar/1/avatar.png",
   "web_url": "https://gitlab.com/raymond_smith",
   "requested_at": "2024-10-22T14:13:35Z"
 },
 {
   "id": 2,
   "username": "john_doe",
   "name": "John Doe",
   "state": "active",
   "locked": false,
   "avatar_url": "https://gitlab.com/uploads/-/system/user/avatar/2/avatar.png",
   "web_url": "https://gitlab.com/john_doe",
   "requested_at": "2024-10-22T14:13:35Z"
 }
]

请求访问群组或项目

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

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

示例请求:

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"

示例响应:

{
  "id": 1,
  "username": "raymond_smith",
  "name": "Raymond Smith",
  "state": "active",
  "created_at": "2012-10-22T14:13:35Z",
  "requested_at": "2012-10-22T14:13:35Z"
}

批准访问请求

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

PUT /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,开发者角色)

示例请求:

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"

示例响应:

{
  "id": 1,
  "username": "raymond_smith",
  "name": "Raymond Smith",
  "state": "active",
  "created_at": "2012-10-22T14:13:35Z",
  "access_level": 20
}

拒绝访问请求

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

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

示例请求:

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"