#github
#github
Вопрос:
Мне было интересно, возможно ли следующее — и как это сделать.
Могу ли я каким-либо образом использовать github API для возврата массива тегов для существующего репозитория?
У меня есть файл, который я периодически «коммитирую» с тегами версий. Итак, я хотел бы иметь возможность вызывать github и возвращать что-то вроде:
$tags = $tags('v1.0', 'v1.1', 'v2.0', 'v2.1')
Или, может быть, даже ассоциативный массив, который включает в себя как тег, так и дату.
Но в любом случае, я хотел бы затем обратиться к Github и вернуть этот список. Затем я могу разрешить пользователю выбирать версию, которую они хотели бы видеть, используя следующий URL-адрес github:
https://raw.github.com/<username>/<projectname>/<tagname>/<filepath>
Есть предложения?
Спасибо.
Ответ №1:
Вы могли бы использовать GitHub V3 API и проанализировать результат для построения своего массива:
$ curl https://api.github.com/repos/VonC/gitolite/git/refs/tags|grep ""refs"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
"ref": "refs/tags/nonstd-path-for-00", 6:--:-- 0:00:01 --:--:-- 0
"ref": "refs/tags/v0.50", 1
"ref": "refs/tags/v0.55",62
"ref": "refs/tags/v0.60",
"ref": "refs/tags/v0.65",
"ref": "refs/tags/v0.70",62
"ref": "refs/tags/v0.80",
"ref": "refs/tags/v0.85",0:
"ref": "refs/tags/v0.90",1
"ref": "refs/tags/v0.95",0:
"ref": "refs/tags/v1.0",-:
"ref": "refs/tags/v1.0rc1",-
"ref": "refs/tags/v1.1",
"ref": "refs/tags/v1.2",
"ref": "refs/tags/v1.3",
"ref": "refs/tags/v1.4",
"ref": "refs/tags/v1.4.1",
"ref": "refs/tags/v1.4.2",
"ref": "refs/tags/v1.5",