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

依存関係リストのエクスポートAPI

  • プラン: Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

このAPIを使用して、依存関係リストをエクスポートします。このAPIを呼び出すには、すべて認証が必要です。

依存関係リストのエクスポートを作成する

パイプラインで検出されたすべてのプロジェクト依存関係について、新しいCycloneDX JSONエクスポートを作成します。

認証済みユーザーがread_dependency権限を持っていない場合、このリクエストは403 Forbiddenステータスコードを返します。

SBOMのエクスポートは、エクスポートの作成者のみがアクセスできます。

POST /projects/:id/dependency_list_exports
POST /groups/:id/dependency_list_exports
POST /pipelines/:id/dependency_list_exports
属性必須説明
id整数はい認証済みユーザーがアクセスできるプロジェクト、グループ、またはパイプラインのID。
export_type文字列はいエクスポートの形式。承認された値のリストについては、エクスポートの種類を参照してください。
send_emailブール値いいえtrueに設定すると、エクスポートが完了したときに、エクスポートをリクエストしたユーザーにメール通知が送信されます。
curl --request POST \
  --header "PRIVATE-TOKEN: <private_token>" \
  --url "https://gitlab.example.com/api/v4/pipelines/1/dependency_list_exports" \
  --data "export_type=sbom"

作成された依存関係リストのエクスポートは、expires_atフィールドで指定された時刻に自動的に削除されます。

レスポンス例:

{
  "id": 2,
  "status": "running",
  "has_finished": false,
  "export_type": "sbom",
  "send_email": false,
  "expires_at": "2025-04-06T09:35:38.746Z",
  "self": "http://gitlab.example.com/api/v4/dependency_list_exports/2",
  "download": "http://gitlab.example.com/api/v4/dependency_list_exports/2/download"
}

エクスポートの種類

エクスポートは、さまざまなファイル形式でリクエストできます。一部の形式は、特定のオブジェクトでのみ使用できます。

エクスポートの種類説明利用可能
dependency_listキー/バリューペアとして依存関係をリストする標準のJSONオブジェクト。プロジェクト
sbomCycloneDX 1.4ソフトウェア部品表パイプライン
cyclonedx_1_6_jsonCycloneDX 1.6ソフトウェア部品表プロジェクト
json_arrayコンポーネントオブジェクトを含むフラットなJSON配列。グループ
csvコンマ区切り値(CSV)ドキュメント。プロジェクト、グループ

単一の依存関係リストのエクスポートを取得

単一の依存関係リストのエクスポートを取得します。

GET /dependency_list_exports/:id
属性必須説明
id整数はい依存関係リストのエクスポートのID。
curl --request GET \
  --header "PRIVATE-TOKEN: <private_token>" \
  --url "https://gitlab.example.com/api/v4/dependency_list_exports/2"

ステータスコードは、依存関係リストのエクスポートが生成されている場合は202 Accepted、準備ができている場合は200 OKです。

レスポンス例:

{
  "id": 4,
  "has_finished": true,
  "self": "http://gitlab.example.com/api/v4/dependency_list_exports/4",
  "download": "http://gitlab.example.com/api/v4/dependency_list_exports/4/download"
}

依存関係リストのエクスポートをダウンロード

単一の依存関係リストのエクスポートをダウンロードします。

GET /dependency_list_exports/:id/download
属性必須説明
id整数はい依存関係リストのエクスポートのID。
curl --request GET \
  --header "PRIVATE-TOKEN: <private_token>" \
  --url "https://gitlab.example.com/api/v4/dependency_list_exports/2/download"

依存関係リストのエクスポートがまだ完了していないか、見つからなかった場合、応答は404 Not Foundです。

レスポンス例:

{
  "bomFormat": "CycloneDX",
  "specVersion": "1.4",
  "serialNumber": "urn:uuid:aec33827-20ae-40d0-ae83-18ee846364d2",
  "version": 1,
  "metadata": {
    "tools": [
      {
        "vendor": "Gitlab",
        "name": "Gemnasium",
        "version": "2.34.0"
      }
    ],
    "authors": [
      {
        "name": "Gitlab",
        "email": "support@gitlab.com"
      }
    ],
    "properties": [
      {
        "name": "gitlab:dependency_scanning:input_file",
        "value": "package-lock.json"
      }
    ]
  },
  "components": [
    {
      "name": "com.fasterxml.jackson.core/jackson-core",
      "purl": "pkg:maven/com.fasterxml.jackson.core/jackson-core@2.9.2",
      "version": "2.9.2",
      "type": "library",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://spdx.org/licenses/MIT.html"
          }
        },
        {
          "license": {
            "id": "BSD-3-Clause",
            "url": "https://spdx.org/licenses/BSD-3-Clause.html"
          }
        }
      ]
    }
  ]
}