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

データ管理API

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

この機能の利用可否は、機能フラグによって制御されます。詳細については、履歴を参照してください。

データ管理APIを使用して、インスタンスのデータを管理します。

前提要件:

  • 管理者である必要があります。

モデルに関する情報を取得します

このエンドポイントは実験的機能であり、予告なく変更または削除される可能性があります。

GET /admin/data_management/:model_name

:model_nameパラメータは、次のいずれかである必要があります:

  • ci_job_artifact
  • ci_pipeline_artifact
  • ci_secure_file
  • container_repository
  • dependency_proxy_blob
  • dependency_proxy_manifest
  • design_management_repository
  • group_wiki_repository
  • lfs_object
  • merge_request_diff
  • packages_package_file
  • pages_deployment
  • project
  • projects_wiki_repository
  • snippet_repository
  • terraform_state_version
  • upload

サポートされている属性は以下のとおりです:

属性必須説明
model_name文字列はい要求されたモデルの名前。上記の:model_nameリストに属している必要があります。
checksum_state文字列いいえチェックサムステータスで検索します。使用できる値: pending、started、succeeded、failed、disabled。
identifiers配列いいえ要求されたモデルの一意な識別子の配列で結果をフィルタリングします。これは、整数または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/project"

レスポンス例:

[
  {
    "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
    }
  }
]

すべてのモデルレコードのチェックサムを再計算します

PUT /admin/data_management/:model_name/checksum
属性必須説明
model_name文字列はい要求されたモデルの名前。上記の:model_nameリストに属している必要があります。

このエンドポイントは、モデルのすべてのレコードにチェックサムの再計算をマークします。バックグラウンドジョブをエンキューして、これを行います。成功した場合、200と、次の情報を含むJSONレスポンスが返されます:

属性説明
message文字列成功またはエラーに関する情報メッセージ。
status文字列“success"または"error"を指定できます。
{
  "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/project/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
  }
}

特定のモデルレコードのチェックサムを再計算します

PUT /admin/data_management/:model_name/:record_identifier/checksum
属性必須説明
model_name文字列はい要求されたモデルの名前。上記の:model_nameリストに属している必要があります。
record_identifier文字列または整数はいレコードの一意な識別子。整数またはbase64エンコードされた文字列にすることができます(GETクエリのレスポンスから取得)。

成功した場合、200と特定のモデルレコードに関する情報が返されます。チェックサム値は、md5またはsha256アルゴリズムでハッシュされたクエリ対象モデルの表現です。

レスポンス例:

{
  "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
  }
}