3

假设我们有 Github 包注册表存储库https://maven.pkg.github.com/someOrganization。如何将此 repo 中的所有软件包列表转换为 txt 文件?

4

1 回答 1

2

这可以使用GitHub Packages 的 Preview API来完成。您可以使用以下方法在 GraphQL 中查询它:

query($login: String!) {
  organization(login:$login) {
    registryPackages(first:10, packageType:MAVEN) {
      nodes {
       name             
      }
    }
  }
}

这将输出如下内容:

{
  "data": {
    "organization": {
      "registryPackages": {
        "nodes": [
          {
            "name": "package1"
          },
          {
            "name": "package2"
          }            
        ]
      }
    }
  }
}

在撰写本文时,这需要两者:

  • org:read带有和的有效令牌packages:read
  • Accept预览 API 的标头:application/vnd.github.packages-preview+json

现在因为您想通过命令行执行此操作,所以您可以curling 它。关于如何使用curl访问 GitHub 的 GraphQL API 已经有了很好的答案:https ://stackoverflow.com/a/42021388/1174076

希望这可以帮助。

于 2020-01-24T14:27:40.910 回答