名前空間API

ユーザー名とグループ名は名前空間と呼ばれる特別なカテゴリに属します。

以下のドキュメントも参照してください:

ページネーションが使用されています。

ネームスペースの一覧

認証済みユーザーの名前空間の一覧を取得します。ユーザーが管理者の場合、GitLabインスタンス内のすべてのネームスペースのリストが表示されます。

GET /namespaces
GET /namespaces?search=foobar
GET /namespaces?owned_only=true
属性種類必須説明
search文字列です。いいえ検索条件に基づいて、ユーザーが閲覧する権限を持つネームスペースのリストを返します。
owned_onlybooleanいいえGitLab 14.2以降では、所有する名前空間のリストのみを返します。

リクエストの例

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/namespaces"

応答例

[
  {
    "id": 1,
    "name": "user1",
    "path": "user1",
    "kind": "user",
    "full_path": "user1",
    "parent_id": null,
    "avatar_url": "https://secure.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
    "web_url": "https://gitlab.example.com/user1",
    "billable_members_count": 1,
    "plan": "default",
    "trial_ends_on": null,
    "trial": false,
    "root_repository_size": 100
  },
  {
    "id": 2,
    "name": "group1",
    "path": "group1",
    "kind": "group",
    "full_path": "group1",
    "parent_id": null,
    "avatar_url": null,
    "web_url": "https://gitlab.example.com/groups/group1",
    "members_count_with_descendants": 2,
    "billable_members_count": 2,
    "plan": "default",
    "trial_ends_on": null,
    "trial": false,
    "root_repository_size": 100
  },
  {
    "id": 3,
    "name": "bar",
    "path": "bar",
    "kind": "group",
    "full_path": "foo/bar",
    "parent_id": 9,
    "avatar_url": null,
    "web_url": "https://gitlab.example.com/groups/foo/bar",
    "members_count_with_descendants": 5,
    "billable_members_count": 5,
    "plan": "default",
    "trial_ends_on": null,
    "trial": false,
    "root_repository_size": 100
  }
]

オーナーは、ネームスペースに関連付けられたplan プロパティも参照します:

[
  {
    "id": 1,
    "name": "user1",
    "plan": "silver",
    ...
  }
]

GitLab.comのユーザーも、max_seats_usedseats_in_usemax_seats_used_changed_at パラメータを参照してください。max_seats_used は、グループのユーザー数の最高値です。seats_in_use は、現在使用中のライセンスシート数です。max_seats_used_changed_at は、max_seats_used の値が変更された日付を示します。すべての値は 1 日 1 回更新されます。

max_seats_used およびseats_in_use がゼロでないのは、有料プランのネームスペースのみです。

[
  {
    "id": 1,
    "name": "user1",
    "billable_members_count": 2,
    "max_seats_used": 3,
    "max_seats_used_changed_at":"2023-02-13T12:00:02.000Z",
    "seats_in_use": 2,
    ...
  }
]
note
members_count_with_descendantsroot_repository_sizeplan が表示されるのは、グループのオーナーだけです。

ID によるネームスペースの取得

ID によってネームスペースを取得します。

GET /namespaces/:id
属性種類必須説明
id整数/文字列yes 名前空間のIDまたはURLエンコードされたパス

リクエストの例

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/namespaces/2"

応答例

{
  "id": 2,
  "name": "group1",
  "path": "group1",
  "kind": "group",
  "full_path": "group1",
  "parent_id": null,
  "avatar_url": null,
  "web_url": "https://gitlab.example.com/groups/group1",
  "members_count_with_descendants": 2,
  "billable_members_count": 2,
  "max_seats_used": 0,
  "seats_in_use": 0,
  "plan": "default",
  "trial_ends_on": null,
  "trial": false,
  "root_repository_size": 100
}

リクエストの例

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/namespaces/group1"

応答例

{
  "id": 2,
  "name": "group1",
  "path": "group1",
  "kind": "group",
  "full_path": "group1",
  "parent_id": null,
  "avatar_url": null,
  "web_url": "https://gitlab.example.com/groups/group1",
  "members_count_with_descendants": 2,
  "billable_members_count": 2,
  "max_seats_used": 0,
  "seats_in_use": 0,
  "plan": "default",
  "trial_ends_on": null,
  "trial": false,
  "root_repository_size": 100
}

名前空間の存在の取得

パスによってネームスペースの存在を取得します。まだ存在しない新しい名前空間のパスを提案します。

GET /namespaces/:namespace/exists
属性種類必須説明
namespace文字列です。yes名前空間のパス。
parent_id整数。いいえ親ネームスペースの ID。ID が指定されていない場合は、トップ・レベルのネームスペースのみが考慮されます。

リクエストの例

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/namespaces/my-group/exists?parent_id=1"

応答例

{
    "exists": true,
    "suggests": [
        "my-group1"
    ]
}