- ロール
- 制限事項
- グループまたはプロジェクトの全メンバーの一覧表示
- 継承メンバーや招待メンバーを含む、グループまたはプロジェクトの全メンバーをリストアップしてください。
- グループまたはプロジェクトのメンバーの取得
- 継承メンバーや招待メンバーを含む、グループやプロジェクトのメンバーの取得
- グループのすべての請求可能メンバーをリストアップします。
- グループの請求可能なメンバーのメンバーシップのリスト
- グループから請求可能なメンバーを削除します。
- グループ内のユーザーのメンバーシップ状態の変更
- グループやプロジェクトへのメンバーの追加
- グループまたはプロジェクトのメンバーを編集します。
- グループまたはプロジェクトからメンバーを削除します。
- グループのメンバー承認者
- グループの保留中のメンバーをすべて承認します。
- グループとそのサブグループおよびプロジェクトの保留中のメンバーのリスト
- グループにプロジェクトへのアクセス権を与えます。
グループおよびプロジェクトメンバー API
created_by
フィールドは GitLab 14.10 で導入されました。
ロール
ユーザーまたはグループに割り当てられたロールは、Gitlab::Access
モジュールでaccess_level
として定義されます。
- アクセス不可 (
0
) - 最小アクセス (
5
) (GitLab 13.5 で導入) - ゲスト (
10
) - レポーター (
20
) - 開発者 (
30
) - メンテナー (
40
) - オーナー (
50
).GitLab 14.9 以降のプロジェクトで有効です。
access_level
が50
(Owner) になります。GitLab 14.8以前では、個人ネームスペースのプロジェクトはイシューによりaccess_level
が40
(メンテナー) になっています。制限事項
group_saml_identity
属性は、SSO が有効なグループのグループオーナーにのみ表示されます。
email
属性は、あらゆる企業ユーザーのグループオーナーにのみ表示されます。
グループまたはプロジェクトの全メンバーの一覧表示
認証ユーザーが表示可能なグループまたはプロジェクトのメンバーのリストを取得します。直接のメンバーのみを返し、祖先グループを通じて継承されたメンバーは返しません。
この関数は、ページ分割パラメータpage
とper_page
を受け取り、ユーザーのリストを制限します。
GET /groups/:id/members
GET /projects/:id/members
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証されたユーザーが所有するプロジェクトまたはグループのIDまたはURLエンコードされたパス |
query | 文字列です。 | いいえ | メンバーを検索するクエリ文字列 |
user_ids | 整数の配列 | いいえ | 指定されたユーザーIDで結果をフィルタリング |
skip_users | 整数の配列 | いいえ | スキップしたユーザーを結果から除外します。 |
show_seat_info | boolean | いいえ | ユーザーの座席情報を表示 |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/members"
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/:id/members"
応答例
[
{
"id": 1,
"username": "raymond_smith",
"name": "Raymond Smith",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"created_at": "2012-09-22T14:13:35Z",
"created_by": {
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root"
},
"expires_at": "2012-10-22T14:13:35Z",
"access_level": 30,
"group_saml_identity": null
},
{
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"created_at": "2012-09-22T14:13:35Z",
"created_by": {
"id": 1,
"username": "raymond_smith",
"name": "Raymond Smith",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root"
},
"expires_at": "2012-10-22T14:13:35Z",
"access_level": 30,
"email": "john@example.com",
"group_saml_identity": {
"extern_uid":"ABC-1234567890",
"provider": "group_saml",
"saml_provider_id": 10
}
}
]
継承メンバーや招待メンバーを含む、グループまたはプロジェクトの全メンバーをリストアップしてください。
継承されたメンバー、招待されたユーザー、祖先グループを介した権限を含む、認証ユーザーが表示可能なグループまたはプロジェクトのメンバーのリストを取得します。
ユーザーがこのグループまたはプロジェクトのメンバーであり、1つ以上の祖先グループのメンバーでもある場合、最も高いaccess_level
を持つメンバーシップのみが返されます。(GitLab13.11で改善されました。) これは、ユーザーの有効な権限を表します。
招待されたグループのメンバーは、以下のいずれかの場合に返されます:
- 招待されたグループが公開されている場合。
- 依頼者も招待グループのメンバーです。
この関数は、ページ分割パラメータpage
とper_page
を受け取り、ユーザーのリストを制限します。
GET /groups/:id/members/all
GET /projects/:id/members/all
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証されたユーザーが所有するプロジェクトまたはグループのIDまたはURLエンコードされたパス |
query | 文字列です。 | いいえ | メンバーを検索するクエリ文字列 |
user_ids | 整数の配列 | いいえ | 指定されたユーザーIDで結果をフィルタリング |
show_seat_info | boolean | いいえ | ユーザーの座席情報を表示 |
state | 文字列です。 | いいえ | 加盟国、awaiting またはactive のいずれかで結果を絞り込みます。
|
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/members/all"
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/:id/members/all"
応答例
[
{
"id": 1,
"username": "raymond_smith",
"name": "Raymond Smith",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"created_at": "2012-09-22T14:13:35Z",
"created_by": {
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root"
},
"expires_at": "2012-10-22T14:13:35Z",
"access_level": 30,
"group_saml_identity": null
},
{
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"created_at": "2012-09-22T14:13:35Z",
"created_by": {
"id": 1,
"username": "raymond_smith",
"name": "Raymond Smith",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root"
},
"expires_at": "2012-10-22T14:13:35Z",
"access_level": 30,
"email": "john@example.com",
"group_saml_identity": {
"extern_uid":"ABC-1234567890",
"provider": "group_saml",
"saml_provider_id": 10
}
},
{
"id": 3,
"username": "foo_bar",
"name": "Foo bar",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"created_at": "2012-10-22T14:13:35Z",
"created_by": {
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root"
},
"expires_at": "2012-11-22T14:13:35Z",
"access_level": 30,
"group_saml_identity": null
}
]
グループまたはプロジェクトのメンバーの取得
グループまたはプロジェクトのメンバーを取得します。直接のメンバーのみを返し、祖先グループを通じて継承されたメンバーは返しません。
GET /groups/:id/members/:user_id
GET /projects/:id/members/:user_id
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証されたユーザーが所有するプロジェクトまたはグループのIDまたはURLエンコードされたパス |
user_id | 整数。 | yes | メンバーのユーザーID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/members/:user_id"
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/:id/members/:user_id"
応答例
{
"id": 1,
"username": "raymond_smith",
"name": "Raymond Smith",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"access_level": 30,
"email": "john@example.com",
"created_at": "2012-10-22T14:13:35Z",
"created_by": {
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root"
},
"expires_at": null,
"group_saml_identity": null
}
継承メンバーや招待メンバーを含む、グループやプロジェクトのメンバーの取得
GitLab 12.4で導入されました。
グループやプロジェクトのメンバーを取得します。先祖グループから継承したメンバーや招待されたメンバーも含みます。詳細については、継承されたメンバーを一覧表示する対応するエンドポイントを参照ください。
GET /groups/:id/members/all/:user_id
GET /projects/:id/members/all/:user_id
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証されたユーザーが所有するプロジェクトまたはグループのIDまたはURLエンコードされたパス |
user_id | 整数。 | yes | メンバーのユーザーID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/members/all/:user_id"
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/:id/members/all/:user_id"
応答例
{
"id": 1,
"username": "raymond_smith",
"name": "Raymond Smith",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"access_level": 30,
"created_at": "2012-10-22T14:13:35Z",
"created_by": {
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root"
},
"email": "john@example.com",
"expires_at": null,
"group_saml_identity": null
}
グループのすべての請求可能メンバーをリストアップします。
GitLab 13.5 で導入されました。
請求可能なグループメンバーのリストを取得します。このリストにはサブグループやプロジェクトのメンバーも含まれます。
この API エンドポイントは、トップレベルのグループに対してのみ機能します。サブグループでは動作しません。
この関数はページネーションパラメータ page
とper_page
を受け取り、ユーザーのリストを制限します。
GitLab 13.7 以降では、search
パラメータを使って請求可能なグループメンバーを名前で検索し、sort
を使って結果をソートします。
GET /groups/:id/billable_members
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するグループのIDまたはURLエンコードされたパス |
search | 文字列です。 | いいえ | 名前、ユーザー名、または公開Eメールによってグループメンバーを検索するためのクエリ文字列。 |
sort | 文字列です。 | いいえ | ソート属性と順序を指定するパラメータを含むクエリ文字列。以下のサポートされる値を参照してください。 |
sort
属性でサポートされる値は以下のとおりです:
値 | 説明 |
---|---|
access_level_asc | アクセスレベル、昇順 |
access_level_desc | アクセスレベル、降順 |
last_joined | 最終参加者 |
name_asc | 名前、昇順 |
name_desc | 名前、降順 |
oldest_joined | 最年長 |
oldest_sign_in | 最古のサインイン |
recent_sign_in | 最近のサインイン |
last_activity_on_asc | 最終アクティブ日(昇順 |
last_activity_on_desc | 最終活動日(降順 |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/billable_members"
応答例
[
{
"id": 1,
"username": "raymond_smith",
"name": "Raymond Smith",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"last_activity_on": "2021-01-27",
"membership_type": "group_member",
"removable": true,
"created_at": "2021-01-03T12:16:02.000Z",
"last_login_at": "2022-10-09T01:33:06.000Z"
},
{
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"email": "john@example.com",
"last_activity_on": "2021-01-25",
"membership_type": "group_member",
"removable": true,
"created_at": "2021-01-04T18:46:42.000Z",
"last_login_at": "2022-09-29T22:18:46.000Z"
},
{
"id": 3,
"username": "foo_bar",
"name": "Foo bar",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"last_activity_on": "2021-01-20",
"membership_type": "group_invite",
"removable": false,
"created_at": "2021-01-09T07:12:31.000Z",
"last_login_at": "2022-10-10T07:28:56.000Z"
}
]
グループの請求可能なメンバーのメンバーシップのリスト
GitLab 13.11 で導入されました。
グループの請求可能メンバーのメンバーシップのリストを取得します。
ユーザーがメンバーであるすべてのプロジェクトとグループを一覧表示します。グループ階層内のプロジェクトとグループのみが含まれます。例えば、要求されたグループがRoot Group
で、要求されたユーザーがRoot Group / Sub Group One
とOther Group / Sub Group Two
の両方の直接のメンバーである場合、Other Group / Sub Group Two
はRoot Group
階層内にないため、Root Group / Sub Group One
のみが返されます。
応答は直接のメンバシップのみを表します。継承されたメンバシップは含まれません。
この API エンドポイントは、トップレベルのグループに対してのみ機能します。サブグループでは動作しません。
この API エンドポイントには、グループのメンバーシップを管理する権限が必要です。
この API エンドポイントは、ページ分割パラメータpage
とper_page
を受け取り、会員リストを制限します。
GET /groups/:id/billable_members/:user_id/memberships
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するグループのIDまたはURLエンコードされたパス |
user_id | 整数。 | yes | 請求可能メンバーのユーザーID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/billable_members/:user_id/memberships"
応答例
[
{
"id": 168,
"source_id": 131,
"source_full_name": "Root Group / Sub Group One",
"source_members_url": "https://gitlab.example.com/groups/root-group/sub-group-one/-/group_members",
"created_at": "2021-03-31T17:28:44.812Z",
"expires_at": "2022-03-21",
"access_level": {
"string_value": "Developer",
"integer_value": 30
}
},
{
"id": 169,
"source_id": 63,
"source_full_name": "Root Group / Sub Group One / My Project",
"source_members_url": "https://gitlab.example.com/root-group/sub-group-one/my-project/-/project_members",
"created_at": "2021-03-31T17:29:14.934Z",
"expires_at": null,
"access_level": {
"string_value": "Maintainer",
"integer_value": 40
}
}
]
グループから請求可能なメンバーを削除します。
グループとそのサブグループ、プロジェクトから請求可能メンバーを削除します。
ユーザーはグループメンバーでなくても削除できます。例えば、ユーザーがグループ内のプロジェクトに直接追加された場合でも、この API を使用して削除できます。
DELETE /groups/:id/billable_members/: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/billable_members/:user_id"
グループ内のユーザーのメンバーシップ状態の変更
GitLab 15.0 で導入されました。
グループ内のユーザーのメンバーシップ状態を変更します。この状態はすべてのサブグループとプロジェクトに適用されます。
PUT /groups/:id/members/:user_id/state
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証されたユーザーが所有するグループのID またはURL エンコードされたパス。 |
user_id | 整数。 | yes | メンバーのユーザーID。 |
state | 文字列です。 | yes | ユーザーの新しい状態。状態はawaiting またはactive のいずれかです。 |
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/members/:user_id/state?state=active"
応答例
{
"success":true
}
グループやプロジェクトへのメンバーの追加
グループまたはプロジェクトにメンバーを追加します。
POST /groups/:id/members
POST /projects/:id/members
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証されたユーザーが所有するプロジェクトまたはグループのIDまたはURLエンコードされたパス |
user_id | 整数/文字列 | yes | 新メンバーのユーザーID、またはカンマ区切りの複数のID |
access_level | 整数。 | yes | 有効なアクセスレベル |
expires_at | 文字列です。 | いいえ | 形式の日付文字列YEAR-MONTH-DAY
|
invite_source | 文字列です。 | いいえ | メンバー作成プロセスを開始する招待のソース。GitLabチームメンバーはこの機密イシューでより詳しい情報を見ることができます:https://gitlab.com/gitlab-org/gitlab/-/issues/327120> . |
tasks_to_be_done | 文字列の配列。 | いいえ | 招待者がメンバーに注目してほしいタスク。タスクは指定されたプロジェクトのイシューとして追加されます。指定できる値は次のとおりです:ci code とissues が指定された場合、tasks_project_id が必要です。GitLab 14.5 でinvite_members_for_task というフラグとともに 導入されました。デフォルトでは無効です。 |
tasks_project_id | 整数。 | いいえ | タスク・イシューを作成するプロジェクトID。指定された場合、tasks_to_be_done が必要です。GitLab 14.5 でinvite_members_for_task というフラグで 導入されました。デフォルトでは無効です。 |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--data "user_id=1&access_level=30" "https://gitlab.example.com/api/v4/groups/:id/members"
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--data "user_id=1&access_level=30" "https://gitlab.example.com/api/v4/projects/:id/members"
応答例
{
"id": 1,
"username": "raymond_smith",
"name": "Raymond Smith",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"created_at": "2012-10-22T14:13:35Z",
"created_by": {
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root"
},
"expires_at": "2012-10-22T14:13:35Z",
"access_level": 30,
"email": "john@example.com",
"group_saml_identity": null
}
グループまたはプロジェクトのメンバーを編集します。
グループやプロジェクトのメンバーを更新します。
PUT /groups/:id/members/:user_id
PUT /projects/:id/members/:user_id
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証されたユーザーが所有するプロジェクトまたはグループのIDまたはURLエンコードされたパス |
user_id | 整数。 | yes | メンバーのユーザーID |
access_level | 整数。 | yes | 有効なアクセスレベル |
expires_at | 文字列です。 | いいえ | 形式の日付文字列YEAR-MONTH-DAY
|
member_role_id | 整数。 | いいえ | メンバーロールのID |
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/members/:user_id?access_level=40"
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/:id/members/:user_id?access_level=40"
応答例
{
"id": 1,
"username": "raymond_smith",
"name": "Raymond Smith",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"created_at": "2012-10-22T14:13:35Z",
"created_by": {
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root"
},
"expires_at": "2012-10-22T14:13:35Z",
"access_level": 40,
"email": "john@example.com",
"group_saml_identity": null
}
グループのメンバーにオーバーライドフラグを設定します。
GitLab 13.0から導入されました。
デフォルトでは、LDAPグループメンバーのアクセスレベルはグループ同期を通してLDAPによって指定された値に設定されます。このエンドポイントを呼び出すことで、アクセスレベルのオーバーライドを許可することができます。
POST /groups/:id/members/:user_id/override
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するグループのIDまたはURLエンコードされたパス |
user_id | 整数。 | yes | メンバーのユーザーID |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/members/:user_id/override"
応答例
{
"id": 1,
"username": "raymond_smith",
"name": "Raymond Smith",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"created_at": "2012-10-22T14:13:35Z",
"created_by": {
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root"
},
"expires_at": "2012-10-22T14:13:35Z",
"access_level": 40,
"email": "john@example.com",
"override": true
}
グループのメンバーのオーバーライドを削除します。
GitLab 13.0から導入されました。
上書きフラグをfalseに設定し、LDAPグループ同期がアクセスレベルをLDAP規定の値にリセットできるようにします。
DELETE /groups/:id/members/:user_id/override
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するグループのIDまたはURLエンコードされたパス |
user_id | 整数。 | yes | メンバーのユーザーID |
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/members/:user_id/override"
応答例
{
"id": 1,
"username": "raymond_smith",
"name": "Raymond Smith",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root",
"created_at": "2012-10-22T14:13:35Z",
"created_by": {
"id": 2,
"username": "john_doe",
"name": "John Doe",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
"web_url": "http://192.168.1.8:3000/root"
},
"expires_at": "2012-10-22",
"access_level": 40,
"email": "john@example.com",
"override": false
}
グループまたはプロジェクトからメンバーを削除します。
ユーザーが明示的にロールを割り当てられているグループまたはプロジェクトからユーザーを削除します。
ユーザーを削除するには、グループのメンバーである必要があります。例えば、ユーザーがグループ内のプロジェクトに直接追加され、このグループには明示的に追加されていない場合、このAPIを使用してユーザーを削除することはできません。別の方法については、請求可能なメンバーをグループから削除するを参照してください。
DELETE /groups/:id/members/:user_id
DELETE /projects/:id/members/:user_id
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証されたユーザーが所有するプロジェクトまたはグループのIDまたはURLエンコードされたパス |
user_id | 整数。 | yes | メンバーのユーザーID |
skip_subresources | boolean | false | サブグループやプロジェクトにおける、削除されたメンバーの直接のメンバーの削除をスキップするかどうか。デフォルトはfalse です。 |
unassign_issuables | boolean | false | 削除されたメンバーを、指定されたグループやプロジェクト内のイシューやマージリクエストから外すかどうか。デフォルトはfalse です。 |
リクエストの例
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/members/:user_id"
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/:id/members/:user_id"
グループのメンバー承認者
グループとそのサブグループ、プロジェクトに申請中のユーザーを承認します。
PUT /groups/:id/members/:member_id/approve
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証されたユーザーが所有するルートグループのIDまたはURLエンコードされたパス |
member_id | 整数。 | yes | メンバーのID |
リクエストの例
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/members/:member_id/approve"
グループの保留中のメンバーをすべて承認します。
グループとそのサブグループ、プロジェクトの保留中のユーザーをすべて承認します。
POST /groups/:id/members/approve_all
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証されたユーザーが所有するルートグループのIDまたはURLエンコードされたパス |
リクエストの例
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/members/approve_all"
グループとそのサブグループおよびプロジェクトの保留中のメンバーのリスト
GitLab 14.6で導入されました。
グループとそのサブグループとプロジェクトについて、awaiting
状態のメンバー全員と、招待されているが GitLab アカウントを持っていないメンバーのリストを取得します。
このリクエストは、ルートグループの階層にあるすべてのグループとプロジェクトから、一致するすべてのグループとプロジェクトのメンバーを返します。
メンバーがまだ GitLab アカウントにサインアップしていない招待ユーザーの場合は、招待されたメールアドレスが返されます。
この API エンドポイントは、トップレベルのグループに対してのみ機能します。サブグループでは動作しません。
この API エンドポイントには、グループのメンバーを管理する権限が必要です。
この API エンドポイントは、ページ分割パラメータpage
とper_page
を受け取り、メンバーのリストを制限します。
GET /groups/:id/pending_members
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するグループのIDまたはURLエンコードされたパス |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/pending_members"
応答例
[
{
"id": 168,
"name": "Alex Garcia",
"username": "alex_garcia",
"email": "alex@example.com",
"avatar_url": "http://example.com/uploads/user/avatar/1/cd8.jpeg",
"web_url": "http://example.com/alex_garcia",
"approved": false,
"invited": false
},
{
"id": 169,
"email": "sidney@example.com",
"avatar_url": "http://gravatar.com/../e346561cd8.jpeg",
"approved": false,
"invited": true
},
{
"id": 170,
"email": "zhang@example.com",
"avatar_url": "http://gravatar.com/../e32131cd8.jpeg",
"approved": true,
"invited": true
}
]
グループにプロジェクトへのアクセス権を与えます。
プロジェクトをグループで共有するをご覧ください。