Help us learn about your current experience with the documentation. Take the survey.

依赖 API

  • Tier: Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

每次调用此端点都需要身份验证。要执行此调用,用户必须拥有读取仓库的权限。 要在响应中查看漏洞,用户必须拥有读取 Project Security Dashboard 的权限。

列出项目依赖

获取项目依赖列表。此 API 部分镜像了 Dependency List 功能。 此列表只能为 Gemnasium 支持的语言和包管理器 生成。

GET /projects/:id/dependencies
GET /projects/:id/dependencies?package_manager=maven
GET /projects/:id/dependencies?package_manager=yarn,bundler
属性 类型 必需 描述
id integer/string 项目的 ID 或 URL 编码路径
package_manager string array 返回属于指定包管理器的依赖。有效值:bundler, composer, conan, go, gradle, maven, npm, nuget, pip, pipenv, pnpm, yarn, sbt, 或 setuptools
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "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 个结果。

阅读更多关于分页的信息。