グループとプロジェクトのアクセス要求 API
有効なアクセスレベル
アクセス・レベルはGitlab::Access
モジュールで定義されており、以下のレベルが認識されます:
- アクセス不可 (
0
) - 最小アクセス (
5
) (GitLab 13.5 で導入) - ゲスト (
10
) - レポーター (
20
) - 開発者 (
30
) - メンテナー (
40
) - オーナー (
50
).GitLab 14.9 以降のプロジェクトで有効です。
グループやプロジェクトのアクセスリクエストを一覧表示します。
認証済みユーザーが閲覧可能なアクセス要求の一覧を取得します。
GET /groups/:id/access_requests
GET /projects/:id/access_requests
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス |
リクエストの例
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/access_requests"
curl --header "PRIVATE-TOKEN: <your_access_token>" "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"
},
{
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"created_at": "2012-10-22T14:13:35Z",
"requested_at": "2012-10-22T14:13:35Z"
}
]
グループまたはプロジェクトへのアクセス要求
認証されたユーザーのグループまたはプロジェクトへのアクセスを要求します。
POST /groups/:id/access_requests
POST /projects/:id/access_requests
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | グループまたはプロジェクトのIDまたはURLエンコードされたパス |
リクエストの例
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/access_requests"
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "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 | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス |
user_id | 整数。 | yes | アクセス要求者のユーザーID |
access_level | 整数。 | いいえ | 有効なアクセスレベル (デフォルト:30 、開発者ロール) |
リクエストの例
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "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>" "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 | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス |
user_id | 整数。 | yes | アクセス要求者のユーザーID |
リクエストの例
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/access_requests/:user_id"
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/:id/access_requests/:user_id"