如何从命令行列出 Github 包注册表存储库中的所有包?

Posted

技术标签:

【中文标题】如何从命令行列出 Github 包注册表存储库中的所有包?【英文标题】:How can i list all packages in a Github Package Registry repository from the command line? 【发布时间】:2020-05-10 15:28:16 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

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

这将输出如下内容:


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

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

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

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

希望这会有所帮助。

【讨论】:

很好的答案!谢谢

以上是关于如何从命令行列出 Github 包注册表存储库中的所有包?的主要内容,如果未能解决你的问题,请参考以下文章

您可以从 GitHub 存储库中获取代码行数吗?

如何从 CLI 下载 GitHub 存储库中的子文件夹/文件

linux fedora35中配置软件存储库:添加启用禁用

如何列出远程 SVN 存储库中的所有文件?

如何使用 keytool 列出存储在 PKCS12 密钥库中的证书?

使用 xcode,我如何区分文件的工作副本和存储库中的最新提交?