InfoGrab DocsInfoGrab Docs

데이터 관리 API

요약

데이터 관리 API로 인스턴스의 데이터를 관리합니다. 인스턴스에 있는 데이터 모델의 정보를 조회합니다. :model_name 파라미터는 다음 중 하나여야 합니다. 이 엔드포인트는 모델의 기본 키에 대해 키셋 페이지네이션을 오름차순 또는 내림차순 정렬로 지원합니다.

히스토리
  • GitLab 18.3에서 geo_primary_verification_view라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다. 이 기능은 실험 기능입니다.
  • GitLab 18.8에서 플래그가 기본적으로 활성화되었습니다.

데이터 관리 API로 인스턴스의 데이터를 관리합니다.

사전 요구 사항:

  • 관리자여야 합니다.

모델 정보 조회#

인스턴스에 있는 데이터 모델의 정보를 조회합니다. 이 작업은 실험 기능이며 예고 없이 변경되거나 제거될 수 있습니다.

GET /admin/data_management/:model_name

:model_name 파라미터는 다음 중 하나여야 합니다.

  • ci_job_artifacts
  • ci_pipeline_artifacts
  • ci_secure_files
  • container_repositories
  • dependency_proxy_blobs
  • dependency_proxy_manifests
  • design_management_repositories
  • group_wiki_repositories
  • lfs_objects
  • merge_request_diffs
  • packages_debian_project_component_files
  • packages_nuget_symbols
  • packages_package_files
  • pages_deployments
  • projects
  • projects_wiki_repositories
  • snippet_repositories
  • supply_chain_attestations
  • terraform_state_versions
  • uploads

지원되는 속성:

속성 유형 필수 설명
model_name string Yes 요청 대상 모델의 복수형 이름. 위 :model_name 목록에 포함되어야 합니다.
checksum_state string No 체크섬 상태로 검색합니다. 허용 값: pending, started, succeeded, failed, disabled.
identifiers array No 요청 대상 모델의 고유 식별자 배열로 결과를 필터링합니다. 식별자는 정수 또는 base64 인코딩 문자열입니다.

이 엔드포인트는 모델의 기본 키에 대해 키셋 페이지네이션을 오름차순 또는 내림차순 정렬로 지원합니다. 키셋 페이지네이션을 사용하려면 요청에 pagination=keyset 파라미터를 추가합니다. 기본적으로 키셋 페이지네이션은 페이지당 20 개 레코드를 오름차순으로 불러옵니다. 정렬 순서는 쿼리 파라미터 sort와 값 asc 또는 desc로 변경할 수 있습니다. 페이지당 레코드 수는 per_page 파라미터로 지정합니다.

성공하면 200과 모델 정보를 반환합니다. 다음 응답 속성이 포함됩니다.

속성 유형 설명
checksum_information JSON Geo 전용 체크섬 정보(있는 경우).
created_at timestamp 생성 타임스탬프(있는 경우).
file_size integer 객체의 크기(있는 경우).
model_class string 모델의 클래스 이름.
record_identifier string or integer 레코드의 고유 식별자. 정수 또는 base64 인코딩 문자열입니다.
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/admin/data_management/projects?pagination=keyset"

응답 예시:

[
  {
    "record_identifier": 1,
    "model_class": "Project",
    "created_at": "2025-02-05T11:27:10.173Z",
    "file_size": null,
    "checksum_information": {
      "checksum": "<object checksum>",
      "last_checksum": "2025-07-24T14:22:18.643Z",
      "checksum_state": "succeeded",
      "checksum_retry_count": 0,
      "checksum_retry_at": null,
      "checksum_failure": null
    }
  },
  {
    "record_identifier": 2,
    "model_class": "Project",
    "created_at": "2025-02-05T11:27:14.402Z",
    "file_size": null,
    "checksum_information": {
      "checksum": "<object checksum>",
      "last_checksum": "2025-07-24T14:22:18.214Z",
      "checksum_state": "succeeded",
      "checksum_retry_count": 0,
      "checksum_retry_at": null,
      "checksum_failure": null
    }
  }
]

모델 레코드의 체크섬 재계산#

지정한 모델의 선택된 레코드에 대해 체크섬을 재계산합니다. checksum_state와 identifiers 파라미터를 지정하면 그 조건으로 필터링합니다. 이 요청은 재계산을 수행할 백그라운드 job을 큐에 넣습니다.

PUT /admin/data_management/:model_name/checksum
속성 유형 필수 설명
model_name string Yes 요청 대상 모델의 복수형 이름. 위 :model_name 목록에 포함되어야 합니다.
checksum_state string No 체크섬 상태로 필터링합니다. 허용 값: pending, started, succeeded, failed, disabled.
identifiers array No 요청 대상 모델의 고유 식별자 배열로 레코드를 필터링합니다. 식별자는 정수 또는 base64 인코딩 문자열입니다.

성공하면 200과 다음 정보를 담은 JSON 응답을 반환합니다.

속성 유형 설명
message string 성공 또는 오류에 대한 안내 메시지.
status string "success" 또는 "error".
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/admin/data_management/projects/checksum"

응답 예시:

{
  "status": "success",
  "message": "Batch update job has been successfully enqueued."
}

identifiers를 지정했지만 어떤 값도 기존 레코드와 일치하지 않으면 job이 큐에 들어가지 않고 레코드도 변경되지 않습니다. 요청은 여전히 유효하므로 엔드포인트는 다른 메시지와 함께 200을 반환합니다. 빈 identifiers[]=는 아무것도 일치하지 않는 필터로 취급되지 않습니다. 이 경우에도 해당 모델의 모든 레코드에 대한 job이 큐에 들어갑니다.

일치하는 레코드가 없을 때의 응답 예시:

{
  "status": "success",
  "message": "No records matched the given identifiers."
}

모델 레코드 정보 조회#

지정한 모델 레코드의 정보를 조회합니다.

GET /admin/data_management/:model_name/:id
속성 유형 필수 설명
model_name string Yes 요청 대상 모델의 복수형 이름. 위 :model_name 목록에 포함되어야 합니다.
record_identifier string or integer Yes 요청 대상 모델의 고유 식별자. 정수 또는 base64 인코딩 문자열입니다.

성공하면 200과 해당 모델 레코드의 정보를 반환합니다. 다음 응답 속성이 포함됩니다.

속성 유형 설명
checksum_information JSON Geo 전용 체크섬 정보(있는 경우).
created_at timestamp 생성 타임스탬프(있는 경우).
file_size integer 객체의 크기(있는 경우).
model_class string 모델의 클래스 이름.
record_identifier string or integer 레코드의 고유 식별자. 정수 또는 base64 인코딩 문자열입니다.
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/admin/data_management/projects/1"

응답 예시:

{
  "record_identifier": 1,
  "model_class": "Project",
  "created_at": "2025-02-05T11:27:10.173Z",
  "file_size": null,
  "checksum_information": {
    "checksum": "<object checksum>",
    "last_checksum": "2025-07-24T14:22:18.643Z",
    "checksum_state": "succeeded",
    "checksum_retry_count": 0,
    "checksum_retry_at": null,
    "checksum_failure": null
  }
}

모델 레코드의 체크섬 재계산#

지정한 모델 레코드의 체크섬을 재계산합니다. 체크섬 값은 조회 대상 모델을 md5 또는 sha256 알고리즘으로 해시한 값입니다.

PUT /admin/data_management/:model_name/:record_identifier/checksum
속성 유형 필수 설명
model_name string Yes 요청 대상 모델의 복수형 이름. 위 :model_name 목록에 포함되어야 합니다.
record_identifier string or integer Yes 레코드의 고유 식별자. 정수 또는 base64 인코딩 문자열이며 GET 쿼리의 응답에서 가져옵니다.

성공하면 200과 해당 모델 레코드의 정보를 반환합니다.

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/admin/data_management/projects/1/checksum"

응답 예시:

{
  "record_identifier": 1,
  "model_class": "Project",
  "created_at": "2025-02-05T11:27:10.173Z",
  "file_size": null,
  "checksum_information": {
    "checksum": "<sha256 or md5 string>",
    "last_checksum": "2025-07-24T14:22:18.643Z",
    "checksum_state": "succeeded",
    "checksum_retry_count": 0,
    "checksum_retry_at": null,
    "checksum_failure": null
  }
}

데이터 관리 API

GitLab v19.5
Tier: Premium, Ultimate
Offering: GitLab Self-Managed
원문 보기

요약

데이터 관리 API로 인스턴스의 데이터를 관리합니다. 인스턴스에 있는 데이터 모델의 정보를 조회합니다. :model_name 파라미터는 다음 중 하나여야 합니다. 이 엔드포인트는 모델의 기본 키에 대해 키셋 페이지네이션을 오름차순 또는 내림차순 정렬로 지원합니다.

히스토리
  • GitLab 18.3에서 geo_primary_verification_view라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다. 이 기능은 실험 기능입니다.
  • GitLab 18.8에서 플래그가 기본적으로 활성화되었습니다.

데이터 관리 API로 인스턴스의 데이터를 관리합니다.

사전 요구 사항:

  • 관리자여야 합니다.

모델 정보 조회#

인스턴스에 있는 데이터 모델의 정보를 조회합니다. 이 작업은 실험 기능이며 예고 없이 변경되거나 제거될 수 있습니다.

GET /admin/data_management/:model_name

:model_name 파라미터는 다음 중 하나여야 합니다.

  • ci_job_artifacts
  • ci_pipeline_artifacts
  • ci_secure_files
  • container_repositories
  • dependency_proxy_blobs
  • dependency_proxy_manifests
  • design_management_repositories
  • group_wiki_repositories
  • lfs_objects
  • merge_request_diffs
  • packages_debian_project_component_files
  • packages_nuget_symbols
  • packages_package_files
  • pages_deployments
  • projects
  • projects_wiki_repositories
  • snippet_repositories
  • supply_chain_attestations
  • terraform_state_versions
  • uploads

지원되는 속성:

속성 유형 필수 설명
model_name string Yes 요청 대상 모델의 복수형 이름. 위 :model_name 목록에 포함되어야 합니다.
checksum_state string No 체크섬 상태로 검색합니다. 허용 값: pending, started, succeeded, failed, disabled.
identifiers array No 요청 대상 모델의 고유 식별자 배열로 결과를 필터링합니다. 식별자는 정수 또는 base64 인코딩 문자열입니다.

이 엔드포인트는 모델의 기본 키에 대해 키셋 페이지네이션을 오름차순 또는 내림차순 정렬로 지원합니다. 키셋 페이지네이션을 사용하려면 요청에 pagination=keyset 파라미터를 추가합니다. 기본적으로 키셋 페이지네이션은 페이지당 20 개 레코드를 오름차순으로 불러옵니다. 정렬 순서는 쿼리 파라미터 sort와 값 asc 또는 desc로 변경할 수 있습니다. 페이지당 레코드 수는 per_page 파라미터로 지정합니다.

성공하면 200과 모델 정보를 반환합니다. 다음 응답 속성이 포함됩니다.

속성 유형 설명
checksum_information JSON Geo 전용 체크섬 정보(있는 경우).
created_at timestamp 생성 타임스탬프(있는 경우).
file_size integer 객체의 크기(있는 경우).
model_class string 모델의 클래스 이름.
record_identifier string or integer 레코드의 고유 식별자. 정수 또는 base64 인코딩 문자열입니다.
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/admin/data_management/projects?pagination=keyset"

응답 예시:

[
  {
    "record_identifier": 1,
    "model_class": "Project",
    "created_at": "2025-02-05T11:27:10.173Z",
    "file_size": null,
    "checksum_information": {
      "checksum": "<object checksum>",
      "last_checksum": "2025-07-24T14:22:18.643Z",
      "checksum_state": "succeeded",
      "checksum_retry_count": 0,
      "checksum_retry_at": null,
      "checksum_failure": null
    }
  },
  {
    "record_identifier": 2,
    "model_class": "Project",
    "created_at": "2025-02-05T11:27:14.402Z",
    "file_size": null,
    "checksum_information": {
      "checksum": "<object checksum>",
      "last_checksum": "2025-07-24T14:22:18.214Z",
      "checksum_state": "succeeded",
      "checksum_retry_count": 0,
      "checksum_retry_at": null,
      "checksum_failure": null
    }
  }
]

모델 레코드의 체크섬 재계산#

지정한 모델의 선택된 레코드에 대해 체크섬을 재계산합니다. checksum_state와 identifiers 파라미터를 지정하면 그 조건으로 필터링합니다. 이 요청은 재계산을 수행할 백그라운드 job을 큐에 넣습니다.

PUT /admin/data_management/:model_name/checksum
속성 유형 필수 설명
model_name string Yes 요청 대상 모델의 복수형 이름. 위 :model_name 목록에 포함되어야 합니다.
checksum_state string No 체크섬 상태로 필터링합니다. 허용 값: pending, started, succeeded, failed, disabled.
identifiers array No 요청 대상 모델의 고유 식별자 배열로 레코드를 필터링합니다. 식별자는 정수 또는 base64 인코딩 문자열입니다.

성공하면 200과 다음 정보를 담은 JSON 응답을 반환합니다.

속성 유형 설명
message string 성공 또는 오류에 대한 안내 메시지.
status string "success" 또는 "error".
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/admin/data_management/projects/checksum"

응답 예시:

{
  "status": "success",
  "message": "Batch update job has been successfully enqueued."
}

identifiers를 지정했지만 어떤 값도 기존 레코드와 일치하지 않으면 job이 큐에 들어가지 않고 레코드도 변경되지 않습니다. 요청은 여전히 유효하므로 엔드포인트는 다른 메시지와 함께 200을 반환합니다. 빈 identifiers[]=는 아무것도 일치하지 않는 필터로 취급되지 않습니다. 이 경우에도 해당 모델의 모든 레코드에 대한 job이 큐에 들어갑니다.

일치하는 레코드가 없을 때의 응답 예시:

{
  "status": "success",
  "message": "No records matched the given identifiers."
}

모델 레코드 정보 조회#

지정한 모델 레코드의 정보를 조회합니다.

GET /admin/data_management/:model_name/:id
속성 유형 필수 설명
model_name string Yes 요청 대상 모델의 복수형 이름. 위 :model_name 목록에 포함되어야 합니다.
record_identifier string or integer Yes 요청 대상 모델의 고유 식별자. 정수 또는 base64 인코딩 문자열입니다.

성공하면 200과 해당 모델 레코드의 정보를 반환합니다. 다음 응답 속성이 포함됩니다.

속성 유형 설명
checksum_information JSON Geo 전용 체크섬 정보(있는 경우).
created_at timestamp 생성 타임스탬프(있는 경우).
file_size integer 객체의 크기(있는 경우).
model_class string 모델의 클래스 이름.
record_identifier string or integer 레코드의 고유 식별자. 정수 또는 base64 인코딩 문자열입니다.
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/admin/data_management/projects/1"

응답 예시:

{
  "record_identifier": 1,
  "model_class": "Project",
  "created_at": "2025-02-05T11:27:10.173Z",
  "file_size": null,
  "checksum_information": {
    "checksum": "<object checksum>",
    "last_checksum": "2025-07-24T14:22:18.643Z",
    "checksum_state": "succeeded",
    "checksum_retry_count": 0,
    "checksum_retry_at": null,
    "checksum_failure": null
  }
}

모델 레코드의 체크섬 재계산#

지정한 모델 레코드의 체크섬을 재계산합니다. 체크섬 값은 조회 대상 모델을 md5 또는 sha256 알고리즘으로 해시한 값입니다.

PUT /admin/data_management/:model_name/:record_identifier/checksum
속성 유형 필수 설명
model_name string Yes 요청 대상 모델의 복수형 이름. 위 :model_name 목록에 포함되어야 합니다.
record_identifier string or integer Yes 레코드의 고유 식별자. 정수 또는 base64 인코딩 문자열이며 GET 쿼리의 응답에서 가져옵니다.

성공하면 200과 해당 모델 레코드의 정보를 반환합니다.

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://primary.example.com/api/v4/admin/data_management/projects/1/checksum"

응답 예시:

{
  "record_identifier": 1,
  "model_class": "Project",
  "created_at": "2025-02-05T11:27:10.173Z",
  "file_size": null,
  "checksum_information": {
    "checksum": "<sha256 or md5 string>",
    "last_checksum": "2025-07-24T14:22:18.643Z",
    "checksum_state": "succeeded",
    "checksum_retry_count": 0,
    "checksum_retry_at": null,
    "checksum_failure": null
  }
}