デプロイトークン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_repository、read_registry、write_registry、read_package_registry、write_package_registry、read_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_repository、read_registry、write_registry、read_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"