Как я могу перечислить все пакеты в репозитории Github Package Registry из командной строки?

Допустим, у нас есть репозиторий реестра пакетов Github https://maven.pkg.github.com/someOrganization < / а>. Как я могу поместить список всех пакетов в этом репо в текстовый файл?


person user12984928    schedule 24.01.2020    source источник


Ответы (1)


Это можно сделать с помощью API предварительного просмотра для пакетов GitHub. Вы можете запросить его в 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

Теперь, поскольку вы хотите сделать это из командной строки, вы можете curl это сделать. Уже есть хороший ответ о том, как использовать curl для доступа к GitHub GraphQL API: https://stackoverflow.com/a/42021388/1174076 < / а>

Надеюсь это поможет.

person bitoiu    schedule 24.01.2020
comment
Отличный ответ! Спасибо - person user12984928; 24.01.2020