REST API 现在已版本化。 更多信息,请参阅“关于 API 版本化”。
依赖项审查的 REST API 端点
使用 REST API 与依赖项更改交互。
关于依赖项审查
您可以使用 REST API 查看依赖项更改以及这些更改的安全影响,然后再将它们添加到您的环境中。您可以查看代码库两个提交之间依赖项的差异,包括任何已知漏洞的版本更新的漏洞数据。有关依赖项审查的更多信息,请参阅“关于依赖项审查”。
获取提交之间依赖项的差异
根据在这些提交中对依赖项清单所做的更改,获取代码库两个提交之间依赖项更改的差异。
“获取提交之间依赖项的差异”的细粒度访问令牌
此端点可与以下细粒度令牌类型配合使用:
细粒度令牌必须具有以下权限集
- “内容”代码库权限(读取)
如果仅请求公共资源,则无需身份验证或上述权限即可使用此端点。
“获取提交之间依赖项的差异”的参数
名称,类型,描述 |
---|
accept 字符串建议设置为 |
名称,类型,描述 |
---|
owner 字符串 必填代码库的帐户所有者。名称不区分大小写。 |
repo 字符串 必填代码库的名称,不包括 |
basehead 字符串 必填要比较的基础和头部 Git 修订版本。Git 修订版本将解析为提交 SHA。命名修订版本将解析为其对应的 HEAD 提交,并将确定相应的合并基础。此参数期望格式为 |
名称,类型,描述 |
---|
name 字符串依赖项清单文件的完整路径(相对于代码库根目录)。 |
“获取提交之间依赖项的差异”的 HTTP 响应状态代码
状态代码 | 描述 |
---|---|
200 | OK |
403 | 如果未为此代码库启用 GitHub 高级安全功能,则会返回响应 |
404 | 资源未找到 |
“获取提交之间依赖项的差异”的代码示例
请求示例
get/repos/{owner}/{repo}/dependency-graph/compare/{basehead}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/dependency-graph/compare/BASEHEAD
响应
状态:200
[ { "change_type": "removed", "manifest": "package.json", "ecosystem": "npm", "name": "helmet", "version": "4.6.0", "package_url": "pkg:npm/[email protected]", "license": "MIT", "source_repository_url": "https://github.com/helmetjs/helmet", "vulnerabilities": [] }, { "change_type": "added", "manifest": "package.json", "ecosystem": "npm", "name": "helmet", "version": "5.0.0", "package_url": "pkg:npm/[email protected]", "license": "MIT", "source_repository_url": "https://github.com/helmetjs/helmet", "vulnerabilities": [] }, { "change_type": "added", "manifest": "Gemfile", "ecosystem": "rubygems", "name": "ruby-openid", "version": "2.7.0", "package_url": "pkg:gem/[email protected]", "license": null, "source_repository_url": "https://github.com/openid/ruby-openid", "vulnerabilities": [ { "severity": "critical", "advisory_ghsa_id": "GHSA-fqfj-cmh6-hj49", "advisory_summary": "Ruby OpenID", "advisory_url": "https://github.com/advisories/GHSA-fqfj-cmh6-hj49" } ] } ]