正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

デプロイトークンAPI

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

このAPIを使用して、デプロイトークンを操作します。

すべてのデプロイトークンをリスト表示

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab Self-Managed、GitLab Dedicated

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

GET /deploy_tokens

パラメータは以下のとおりです:

属性必須説明
activeブール値いいえアクティブなステータスで制限します。

リクエスト例:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "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エンドポイントには、プロジェクトのメンテナーロール以上が必要です。

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

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

GET /projects/:id/deploy_tokens

パラメータは以下のとおりです:

属性必須説明
id整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
activeブール値いいえアクティブなステータスで制限します。

リクエスト例:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "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"
    ]
  }
]

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

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

GET /projects/:id/deploy_tokens/:token_id

パラメータは以下のとおりです:

属性必須説明
id整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
token_id整数はいデプロイトークンのID

リクエスト例:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "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"
  ]
}

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

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

POST /projects/:id/deploy_tokens

パラメータは以下のとおりです:

属性必須説明
id整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
name文字列はい新しいデプロイトークンの名前
scopes文字列の配列はいデプロイトークンスコープを示します。read_repositoryread_registrywrite_registryread_package_registrywrite_package_registryread_virtual_registry、またはwrite_virtual_registryのいずれか1つ以上である必要があります。
expires_at日時いいえデプロイトークンの有効期限。値が指定されていない場合、有効期限は有効期限切れになりません。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"]}' \
  --url "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"
  ]
}

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

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

DELETE /projects/:id/deploy_tokens/:token_id

パラメータは以下のとおりです:

属性必須説明
id整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
token_id整数はいデプロイトークンのID

リクエスト例:

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

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

グループのメンテナーロール以上のユーザー名を持つユーザー名は、グループデプロイトークンをリストできます。グループのオーナーのみが、グループデプロイトークンを作成および削除できます。

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

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

GET /groups/:id/deploy_tokens

パラメータは以下のとおりです:

属性必須説明
id整数または文字列はいIDまたはURLエンコードされたパス。
activeブール値いいえアクティブなステータスで制限します。

リクエスト例:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url"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"
    ]
  }
]

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

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

GET /groups/:id/deploy_tokens/:token_id

パラメータは以下のとおりです:

属性必須説明
id整数または文字列はいグループのIDまたはURLエンコードされたパス
token_id整数はいデプロイトークンのID

リクエスト例:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "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"
  ]
}

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

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

POST /groups/:id/deploy_tokens

パラメータは以下のとおりです:

属性必須説明
id整数または文字列はいグループのIDまたはURLエンコードされたパス
name文字列はい新しいデプロイトークンの名前
scopes文字列の配列はいデプロイトークンスコープを示します。read_repositoryread_registrywrite_registryread_package_registry、またはwrite_package_registryのいずれか1つ以上である必要があります。
expires_at日時いいえデプロイトークンの有効期限。値が指定されていない場合、有効期限は有効期限切れになりません。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"]}' \
  --url "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"
  ]
}

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

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

DELETE /groups/:id/deploy_tokens/:token_id

パラメータは以下のとおりです:

属性必須説明
id整数または文字列はいグループのIDまたはURLエンコードされたパス
token_id整数はいデプロイトークンのID

リクエスト例:

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