跳至主要内容
REST API 现在已版本化。 有关更多信息,请参阅 "关于 API 版本控制."

用于软件物料清单 (SBOM) 的 REST API 端点

使用 REST API 导出存储库的软件物料清单 (SBOM)。

如果您至少对存储库具有读取权限,则可以通过 GitHub UI 或 GitHub REST API 将存储库的依赖关系图导出为与 SPDX 兼容的软件物料清单 (SBOM)。有关更多信息,请参阅 "导出存储库的软件物料清单."

本文详细介绍了 REST API 端点。

导出存储库的软件物料清单 (SBOM)。

以 SPDX JSON 格式导出存储库的软件物料清单 (SBOM)。

用于“导出存储库的软件物料清单 (SBOM)”的细粒度访问令牌。

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • “内容”存储库权限(读取)

如果仅请求公共资源,则无需身份验证或上述权限即可使用此端点。

用于“导出存储库的软件物料清单 (SBOM)”的参数。

标头
名称、类型、描述
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
owner string 必需

存储库的帐户所有者。名称不区分大小写。

repo string 必需

存储库的名称,不包含 .git 扩展名。名称不区分大小写。

用于“导出存储库的软件物料清单 (SBOM)”的 HTTP 响应状态代码。

状态代码描述
200

OK

403

禁止

404

资源未找到

“导出仓库软件物料清单 (SBOM)” 的代码示例。

请求示例

get/repos/{owner}/{repo}/dependency-graph/sbom
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/sbom

响应

状态:200
{ "sbom": { "SPDXID": "SPDXRef-DOCUMENT", "spdxVersion": "SPDX-2.3", "creationInfo": { "created": "2021-09-01T00:00:00Z", "creators": [ "Tool: GitHub.com-Dependency-Graph" ] }, "name": "github/example", "dataLicense": "CC0-1.0", "documentDescribes": [ "github/example" ], "documentNamespace": "https://github.com/github/example/dependency_graph/sbom-abcdef123456", "packages": [ { "SPDXID": "SPDXRef-Package", "name": "rubygems:rails", "versionInfo": "1.0.0", "downloadLocation": "NOASSERTION", "filesAnalyzed": false, "licenseConcluded": "MIT", "licenseDeclared": "MIT" } ] } }