依赖项 API
此 API 当前处于实验阶段,可能不稳定。响应负载可能会受到极狐GitLab 版本发布带来的更改或者损坏的影响。
- 在 14.4 版本中引入分页。
对该端点的每一次调用均需要身份验证。若要执行此调用,用户需要拥有读取仓库的权限。 若要查看响应中的漏洞,用户需要拥有读取项目安全仪表盘的权限。
获取项目依赖项列表
获取项目依赖列表。此 API 部分镜像了依赖列表的功能。 只能为 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>" "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 个结果。
了解更多相关信息,请阅读分页。