github API;возвращая массив тегов - PullRequest
2 голосов
/ 09 ноября 2011

Мне было интересно, возможно ли следующее - и как это сделать.

Могу ли я как-то использовать 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 Ответ

5 голосов
/ 09 ноября 2011

Вы можете использовать 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",
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...