使用 GitHub API 获取特定于提交 ID 的存储库中所有文件的列表

Fetching the list of all files within a repository specific to a commit id by using GitHub APIs

我正在尝试查看 GitHub API 是否可用于查看特定提交 ID 级别的存储库内容。

示例: 我能够看到来自以下端点的输出,其中输出在 JSON 中提供。 但是,此输出来自 master/main 并显示上次提交的内容。

回购 URL = https://github.com/kubernetes/kubernetes

URL: https://api.github.com/repos/kubernetes/kubernetes/git/trees/master?recursive=1

输出:减少内容

{
  "sha": "4916b6cd7486e2e0dd6ce5417ae4e6842356954a",
  "url": "https://api.github.com/repos/kubernetes/kubernetes/git/trees/4916b6cd7486e2e0dd6ce5417ae4e6842356954a",
  "tree": [
    {
      "path": ".generated_files",
      "mode": "100644",
      "type": "blob",
      "sha": "4e417ab3d2552386cf373e7d41dbdedd7dc5854c",
      "size": 766,
      "url": "https://api.github.com/repos/kubernetes/kubernetes/git/blobs/4e417ab3d2552386cf373e7d41dbdedd7dc5854c"
    },
    {
      "path": ".gitattributes",
      "mode": "100644",
      "type": "blob",
      "sha": "022e4cde51e5618685b8c946df693c2f04a23fcb",
      "size": 381,
      "url": "https://api.github.com/repos/kubernetes/kubernetes/git/blobs/022e4cde51e5618685b8c946df693c2f04a23fcb"
    },

问题是 - 如何使用 GitHub APIs 检索特定提交 ID 的类似输出?

示例:https://github.com/kubernetes/kubernetes/commit/4916b6cd7486e2e0dd6ce5417ae4e6842356954a

您可以通过将分支名称 (master) 替换为提交 ID 来完成此操作。

https://api.github.com/repos/kubernetes/kubernetes/git/trees/4916b6cd7486e2e0dd6ce5417ae4e6842356954a?recursive=1

此外,如果您需要有关提交的信息,可以将 trees 替换为 commits

https://api.github.com/repos/kubernetes/kubernetes/git/commits/4916b6cd7486e2e0dd6ce5417ae4e6842356954a?recursive=1