正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

データ管理API

  • プラン: Premium、Ultimate
  • 提供形態: GitLab Self-Managed
  • ステータス: 実験的機能

インスタンスのデータを管理するには、データ管理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文字列はいリクエストされたモデルの複数形名。上記の:model_nameリストに属している必要があります。
checksum_state文字列いいえチェックサムステータスで検索します。許可される値: pending、started、succeeded、失敗、disabled。
identifiers配列いいえリクエストされたモデルの固有識別子の配列で結果をフィルタリングします。これは、整数またはbase64でエンコードされた文字列のいずれかです。

このエンドポイントは、モデルのプライマリキーで、昇順または降順のソートとともに、キーセットページネーションをサポートします。キーセットページネーションを使用するには、pagination=keysetパラメータをリクエストに追加します。デフォルトでは、キーセットページネーションは1ページあたり20レコードを昇順で読み込みます。クエリパラメータsortと、値ascまたはdescを使用して、ソート順序を変更できます。ページあたりのレコード数を選択するには、パラメータper_pageを使用します。

成功した場合、200とモデルに関する情報を返します。以下のレスポンス属性が含まれます:

属性説明
checksum_informationJSONGeo固有のチェックサム情報(利用可能な場合)。
created_atタイムスタンプ作成タイムスタンプ(利用可能な場合)。
file_size整数オブジェクトのサイズ(利用可能な場合)。
model_class文字列モデルのクラス名。
record_identifier文字列または整数レコードの固有識別子。整数または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_stateidentifiersパラメータでフィルタリングして、チェックサムを再計算します。そのリクエストは、再計算を実行するためのバックグラウンドジョブをキューに追加します。

PUT /admin/data_management/:model_name/checksum
属性必須説明
model_name文字列はいリクエストされたモデルの複数形名。上記の:model_nameリストに属している必要があります。
checksum_state文字列いいえチェックサムステータスでフィルタリングします。許可される値: pending、started、succeeded、失敗、disabled。
identifiers配列いいえリクエストされたモデルの固有識別子の配列でレコードをフィルタリングします。これは、整数またはbase64でエンコードされた文字列のいずれかです。

成功した場合、200と次の情報を含むJSONレスポンスを返します:

属性説明
message文字列成功またはエラーに関する情報メッセージ。
status文字列「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."
}

モデルレコードの情報を取得する

指定されたモデルレコードに関する情報を取得します。

GET /admin/data_management/:model_name/:id
属性必須説明
model_name文字列はいリクエストされたモデルの複数形名。上記の:model_nameリストに属している必要があります。
record_identifier文字列または整数はいリクエストされたモデルの固有識別子。整数またはbase64でエンコードされた文字列のいずれかです。

成功した場合、200と特定のモデルレコードに関する情報を返します。以下のレスポンス属性が含まれます:

属性説明
checksum_informationJSONGeo固有のチェックサム情報(利用可能な場合)。
created_atタイムスタンプ作成タイムスタンプ(利用可能な場合)。
file_size整数オブジェクトのサイズ(利用可能な場合)。
model_class文字列モデルのクラス名。
record_identifier文字列または整数レコードの固有識別子。整数または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文字列はいリクエストされたモデルの複数形名。上記の:model_nameリストに属している必要があります。
record_identifier文字列または整数はいレコードの固有識別子。整数または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
  }
}