리포지토리 불변 태그 업데이트

리포지토리 불변 태그 업데이트

이 리포지토리의 불변 태그(immutable tags) 설정을 업데이트해요. 리포지토리에 대한 관리 권한이 있는 사용자만 이 설정을 수정할 수 있어요. 이 작업은 조직 액세스 토큰(OAT)에서 발급한 bearer 토큰을 받아요.

출처: 문서

본문

PATCH /v2/namespaces/{namespace}/repositories/{repository}/immutabletags

리포지토리 불변 태그 업데이트 작업이에요. 이 리포지토리의 불변 태그(immutable tags) 설정을 업데이트해요. 리포지토리에 대한 관리 권한이 있는 사용자만 이 설정을 수정할 수 있어요. 이 작업은 조직 액세스 토큰(OAT)에서 발급한 bearer 토큰을 받아요.

요청 예시

실행 전에 자리 표시자를 바꾸고 필요 자격 증명이나 요청 바디를 채워야 해요.

curl \
  --request PATCH \
  --header "Authorization: Bearer ${TOKEN}" \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "immutable_tags": true,
  "immutable_tags_rules": [
    "v.*",
    ".*-RELEASE"
  ]
}' \
  'https://hub.docker.com/v2/namespaces/<NAMESPACE>/repositories/<REPOSITORY>/immutabletags'

요청과 응답

응답 200 Schema:

{
  "$ref": "#/components/schemas/repository_info"
}

Schema example:

{
  "categories": [],
  "collaborator_count": 0,
  "content_types": [],
  "date_registered": "2025-01-20T10:30:00Z",
  "description": "A sample application repository",
  "full_description": "This is a comprehensive description of my application repository that contains additional details about the project.",
  "has_starred": false,
  "hub_user": "myorganization",
  "immutable_tags_settings": {
    "enabled": false,
    "rules": []
  },
  "is_automated": false,
  "is_private": false,
  "last_updated": "2025-01-20T10:30:00Z",
  "media_types": [],
  "name": "my-app",
  "namespace": "myorganization",
  "permissions": {
    "admin": true,
    "read": true,
    "write": true
  },
  "pull_count": 0,
  "repository_type": "image",
  "source": null,
  "star_count": 0,
  "status": 1,
  "status_description": "Active",
  "storage_size": null,
  "user": "myorganization"
}

응답 400 Bad Request

Schema:

{
  "$ref": "#/components/schemas/error"
}

error:

{
  "errinfo": null,
  "message": "bad request"
}

응답 401 Unauthorized

Schema:

{
  "$ref": "#/components/schemas/error"
}

error:

{
  "errinfo": null,
  "message": "unauthorized"
}

응답 403 Forbidden

Schema:

{
  "$ref": "#/components/schemas/error"
}

error:

{
  "errinfo": null,
  "message": "permission denied"
}

응답 404 Not Found

Schema:

{
  "$ref": "#/components/schemas/error"
}

error:

{
  "errinfo": null,
  "message": "not found"
}

전체 작업 계약

{
  "description": "Updates the immutable tags configuration for this repository.\n\n**Only users with administrative privileges for the repository can modify these settings.**\n\nThis operation accepts bearer tokens issued from organization access tokens (OATs). The token must have the required resource access and scopes.\n",
  "operationId": "UpdateRepositoryImmutableTags",
  "requestBody": {
    "$ref": "#/components/requestBodies/update_repository_immutable_tags_request"
  },
  "responses": {
    "200": {
      "$ref": "#/components/responses/update_repository_immutable_tags_response"
    },
    "400": {
      "$ref": "#/components/responses/bad_request"
    },
    "401": {
      "$ref": "#/components/responses/unauthorized"
    },
    "403": {
      "$ref": "#/components/responses/forbidden"
    },
    "404": {
      "$ref": "#/components/responses/not_found"
    }
  },
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "summary": "Update repository immutable tags",
  "tags": [
    "repositories"
  ]
}

더 알아보기