github API;返回一个标签数组

时间:2011-11-09 15:02:47

标签: github

我想知道以下是否可行 - 以及如何做到这一点。

我可以以某种方式使用github API返回现有存储库的标记数组吗?

我有一个文件,我定期“提交”版本标签。所以我希望能够调用github并返回类似的内容:

$tags = $tags('v1.0', 'v1.1', 'v2.0', 'v2.1')

或者甚至是包含标签和日期的关联数组。

但无论如何,我想打电话给Github并返回此列表。然后我可以允许用户使用以下github url选择他们想要查看的版本:

https://raw.github.com/<username>/<projectname>/<tagname>/<filepath>

有什么建议吗? 感谢。

1 个答案:

答案 0 :(得分:5)

您可以使用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",