デプロイトークンAPI

すべてのデプロイトークンを一覧表示します。

GitLab 12.9で導入されました

GitLab インスタンス全体のすべてのデプロイトークンのリストを取得します。このエンドポイントには管理者権限が必要です。

GET /deploy_tokens

パラメータを指定します:

属性種類必須説明
activeboolean {点線円}いいえアクティビティによる制限。

リクエストの例

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

応答例

[
  {
    "id": 1,
    "name": "MyToken",
    "username": "gitlab+deploy-token-1",
    "expires_at": "2020-02-14T00:00:00.000Z",
    "revoked": false,
    "expired": false,
    "scopes": [
      "read_repository",
      "read_registry"
    ]
  }
]

プロジェクトのデプロイトークン

プロジェクトのデプロイトークンAPIエンドポイントには、少なくともプロジェクトのメンテナーのロールが必要です。

プロジェクトデプロイトークンの一覧

GitLab 12.9で導入されました

プロジェクトのデプロイトークンの一覧を取得します。

GET /projects/:id/deploy_tokens

パラメータを指定します:

属性種類必須説明
id整数/文字列 {チェックサークル}はい プロジェクトのIDまたはURLエンコードされたパス
activeboolean {点線円}いいえアクティビティによる制限。

リクエストの例

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

応答例

[
  {
    "id": 1,
    "name": "MyToken",
    "username": "gitlab+deploy-token-1",
    "expires_at": "2020-02-14T00:00:00.000Z",
    "revoked": false,
    "expired": false,
    "scopes": [
      "read_repository",
      "read_registry"
    ]
  }
]

プロジェクトデプロイトークンの取得

GitLab 14.9で導入されました

IDによって単一のプロジェクトのデプロイトークンを取得します。

GET /projects/:id/deploy_tokens/:token_id

パラメータを指定します:

属性種類必須説明
id整数/文字列 {チェックサークル}はい認証されたユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス
token_id整数。 {チェックサークル}はいデプロイトークンのID

リクエストの例

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

応答例

{
  "id": 1,
  "name": "MyToken",
  "username": "gitlab+deploy-token-1",
  "expires_at": "2020-02-14T00:00:00.000Z",
  "revoked": false,
  "expired": false,
  "scopes": [
    "read_repository",
    "read_registry"
  ]
}

プロジェクトデプロイトークンの作成

GitLab 12.9で導入されました

プロジェクトの新しいデプロイトークンを作成します。

POST /projects/:id/deploy_tokens

パラメータを指定します:

属性種類必須説明
id整数/文字列 {チェックサークル}はい認証されたユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス
name文字列です。 {チェックサークル}はい新しいデプロイトークンの名前
scopes文字列の配列。 {チェックサークル}はいデプロイトークンスコープを示します。read_repository,read_registry,write_registry,read_package_registry,write_package_registryのうち少なくとも1つでなければなりません。
expires_atdatetime {点線円}いいえデプロイトークンの有効期限。値が指定されていない場合は有効期限がありません。ISO 8601 形式 (2019-03-15T08:00:00Z) で指定します。
username文字列です。 {点線円}いいえデプロイトークンのユーザ名。デフォルトはgitlab+deploy-token-{n}

リクエストの例

curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \
     --data '{"name": "My deploy token", "expires_at": "2021-01-01", "username": "custom-user", "scopes": ["read_repository"]}' \
     "https://gitlab.example.com/api/v4/projects/5/deploy_tokens/"

応答例

{
  "id": 1,
  "name": "My deploy token",
  "username": "custom-user",
  "expires_at": "2021-01-01T00:00:00.000Z",
  "token": "jMRvtPNxrn3crTAGukpZ",
  "revoked": false,
  "expired": false,
  "scopes": [
    "read_repository"
  ]
}

プロジェクトデプロイトークンの削除

GitLab 12.9で導入されました

プロジェクトからデプロイトークンを削除します。

DELETE /projects/:id/deploy_tokens/:token_id

パラメータを指定します:

属性種類必須説明
id整数/文字列 {チェックサークル}はい認証されたユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス
token_id整数。 {チェックサークル}はいデプロイトークンのID

リクエストの例

curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
    "https://gitlab.example.com/api/v4/projects/5/deploy_tokens/13"

グループデプロイトークン

グループのメンテナー ロール以上を持つユーザーは、グループ デプロイトークンを一覧表示できます。グループのデプロイトークンを作成および削除できるのは、グループのオーナーだけです。

リストグループのデプロイトークン

GitLab 12.9で導入されました

グループのデプロイトークンの一覧の取得

GET /groups/:id/deploy_tokens

パラメータを指定します:

属性種類必須説明
id整数/文字列 {チェックサークル}はいグループのIDまたはURLエンコードされたパス
activeboolean {点線円}いいえアクティビティによる制限。

リクエストの例

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

応答例

[
  {
    "id": 1,
    "name": "MyToken",
    "username": "gitlab+deploy-token-1",
    "expires_at": "2020-02-14T00:00:00.000Z",
    "revoked": false,
    "expired": false,
    "scopes": [
      "read_repository",
      "read_registry"
    ]
  }
]

グループデプロイトークンの取得

GitLab 14.9で導入されました

IDでグループのデプロイトークンを取得します。

GET /groups/:id/deploy_tokens/:token_id

パラメータを指定します:

属性種類必須説明
id整数/文字列 {チェックサークル}はい認証されたユーザーが所有するグループのIDまたはURLエンコードされたパス
token_id整数。 {チェックサークル}はいデプロイトークンのID

リクエストの例

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

応答例

{
  "id": 1,
  "name": "MyToken",
  "username": "gitlab+deploy-token-1",
  "expires_at": "2020-02-14T00:00:00.000Z",
  "revoked": false,
  "expired": false,
  "scopes": [
    "read_repository",
    "read_registry"
  ]
}

グループデプロイトークンの作成

GitLab 12.9で導入されました

グループの新しいデプロイトークンを作成します。

POST /groups/:id/deploy_tokens

パラメータを指定します:

属性種類必須説明
id整数/文字列 {チェックサークル}はい認証されたユーザーが所有するグループのIDまたはURLエンコードされたパス
name文字列です。 {チェックサークル}はい新しいデプロイトークンの名前
scopes文字列の配列。 {チェックサークル}はいデプロイトークンスコープを示します。read_repository,read_registry,write_registry,read_package_registry,write_package_registryのうち少なくとも1つでなければなりません。
expires_atdatetime {点線円}いいえデプロイトークンの有効期限。値が指定されていない場合は有効期限がありません。ISO 8601 形式 (2019-03-15T08:00:00Z) で指定します。
username文字列です。 {点線円}いいえデプロイトークンのユーザ名。デフォルトはgitlab+deploy-token-{n}

リクエストの例

curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \
     --data '{"name": "My deploy token", "expires_at": "2021-01-01", "username": "custom-user", "scopes": ["read_repository"]}' \
     "https://gitlab.example.com/api/v4/groups/5/deploy_tokens/"

応答例

{
  "id": 1,
  "name": "My deploy token",
  "username": "custom-user",
  "expires_at": "2021-01-01T00:00:00.000Z",
  "token": "jMRvtPNxrn3crTAGukpZ",
  "revoked": false,
  "expired": false,
  "scopes": [
    "read_registry"
  ]
}

グループデプロイトークンの削除

GitLab 12.9で導入されました

グループからデプロイトークンを削除します。

DELETE /groups/:id/deploy_tokens/:token_id

パラメータを指定します:

属性種類必須説明
id整数/文字列 {チェックサークル}はい認証されたユーザーが所有するグループのIDまたはURLエンコードされたパス
token_id整数。 {チェックサークル}はいデプロイトークンのID

リクエストの例

curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/deploy_tokens/13"