Извлечение сведений из репозиториев GitHub

#github

#github

Вопрос:

Я ищу способ получить как номер версии, так и сведения о лицензии из репозитория, при условии, что у меня есть URL для репозитория. На данный момент у меня есть способ, который не работает для всех репозиториев, которые я просматриваю, но это в основном очистка html.

Я предполагаю, что где-то есть пример API, который извлекает эти сведения?

несколько случайных примеров

https://github.com/Microsoft/Terminal

https://github.com/leoasis/redux-immutable-state-invariant

https://github.com/zeroclipboard/zeroclipboard

Ответ №1:

Какая версия вам нужна? Если package.json файл присутствует, вы можете использовать его и получить версию в нем:

curl -sL https://raw.githubusercontent.com/leoasis/redux-immutable-state-invariant/master/package.json | jq -r '.version'

Для имени тега последнего выпуска (иначе версии) используйте

curl -sL https://api.github.com/repos/Microsoft/Terminal/releases/latest | jq -r '.tag_name'

Чтобы восстановить лицензию, используйте Github API и перейдите кhttps://api.github.com/repos/zeroclipboard/zeroclipboard/license, например

curl -sL https://api.github.com/repos/zeroclipboard/zeroclipboard/license | jq -r '.license.name'
`

Комментарии:

1. Привет, Понсфрилус, спасибо за комментарии. Это именно то, что мне было нужно! Я ценю, что вы делитесь знаниями! отличной недели 🙂