리포지토리에 그룹(팀) 할당

리포지토리에 그룹(팀) 할당

조직 그룹(팀)을 지정한 권한 수준으로 리포지토리에 할당해요. 이 작업은 조직 액세스 토큰(OAT)에서 발급한 bearer 토큰을 받아요.

출처: 문서

본문

POST /v2/repositories/{namespace}/{repository}/groups

리포지토리에 그룹(팀) 할당 작업이에요. 조직 그룹(팀)을 지정한 권한 수준으로 리포지토리에 할당해요. 이 작업은 조직 액세스 토큰(OAT)에서 발급한 bearer 토큰을 받아요.

요청 예시

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

curl \
  --request POST \
  --header "Authorization: Bearer ${TOKEN}" \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "group_id": 12345,
  "permission": "write"
}' \
  'https://hub.docker.com/v2/repositories/<NAMESPACE>/<REPOSITORY>/groups'

요청과 응답

응답 200 Repository group permission created successfully

Schema:

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

Example:

{
  "group_id": 12345,
  "group_name": "developers",
  "permission": "write"
}

응답 400 Bad Request - Invalid request parameters

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": "Assigns an organization group (team) to a repository with a specified permission level.\n\nThis operation accepts bearer tokens issued from organization access tokens (OATs). The token must have the required resource access and scopes.\n",
  "operationId": "CreateRepositoryGroup",
  "requestBody": {
    "content": {
      "application/json": {
        "example": {
          "group_id": 12345,
          "permission": "write"
        },
        "schema": {
          "$ref": "#/components/schemas/RepositoryGroupCreationRequest"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "example": {
            "group_id": 12345,
            "group_name": "developers",
            "permission": "write"
          },
          "schema": {
            "$ref": "#/components/schemas/RepositoryGroup"
          }
        }
      },
      "description": "Repository group permission created successfully"
    },
    "400": {
      "content": {
        "application/json": {
          "examples": {
            "error": {
              "summary": "Example error response",
              "value": {
                "errinfo": null,
                "message": "bad request"
              }
            }
          },
          "schema": {
            "$ref": "#/components/schemas/error"
          }
        }
      },
      "description": "Bad Request - Invalid request parameters"
    },
    "401": {
      "$ref": "#/components/responses/unauthorized"
    },
    "403": {
      "$ref": "#/components/responses/forbidden"
    },
    "404": {
      "$ref": "#/components/responses/NotFound"
    }
  },
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "summary": "Assign a group (Team) to a repository for access",
  "tags": [
    "repositories"
  ]
}

참조된 스키마

더 알아보기