デプロイトークン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"