依存関係 API

caution
このAPIは実験中であり、不安定であると考えられています。レスポンスのペイロードはGitLabのリリースによって変更されたり、壊れたりする可能性があります。
  • GitLab 12.1 で導入されました。
  • 14.4 でページネーションが導入されました。

このエンドポイントを呼び出すには認証が必要です。この呼び出しを実行するには、ユーザーはリポジトリを読む権限がなければなりません。レスポンスの脆弱性を見るには、ユーザーはプロジェクトセキュリティダッシュボードを読む権限が必要です。

プロジェクトの依存関係の一覧

プロジェクトの依存関係の一覧を取得します。このAPIは依存関係リスト機能を部分的にミラーしています。このリストは、Gemnasium がサポートする言語とパッケージマネージャに対してのみ生成できます。

GET /projects/:id/dependencies
GET /projects/:id/dependencies?package_manager=maven
GET /projects/:id/dependencies?package_manager=yarn,bundler
属性種類必須説明
id整数/文字列yes プロジェクトのIDまたはURLエンコードされたパス
package_manager文字列配列いいえ指定したパッケージマネージャに属する依存関係を返します。有効な値bundler composer,conan,go,gradle,maven,npm,nuget,pip,pipenv,pnpm,yarn,sbt, またはsetuptools
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/4/dependencies"

応答例

[
  {
    "name": "rails",
    "version": "5.0.1",
    "package_manager": "bundler",
    "dependency_file_path": "Gemfile.lock",
    "vulnerabilities": [
      {
        "name": "DDoS",
        "severity": "unknown",
        "id": 144827,
        "url": "https://gitlab.example.com/group/project/-/security/vulnerabilities/144827"
      }
    ],
    "licenses": [
      {
        "name": "MIT",
        "url": "https://opensource.org/licenses/MIT"
      }
    ]
  },
  {
    "name": "hanami",
    "version": "1.3.1",
    "package_manager": "bundler",
    "dependency_file_path": "Gemfile.lock",
    "vulnerabilities": [],
    "licenses": [
      {
        "name": "MIT",
        "url": "https://opensource.org/licenses/MIT"
      }
    ]
  }
]

依存関係のページ分割

デフォルトでは、APIの結果はページ分割されているため、GET リクエストは一度に20件の結果を返します。

ページ分割についての詳細はこちらをご覧ください。