2011-11-09 23 views
2

我想知道以下是否可能 - 以及如何做到這一點。github API;返回一組標籤

我可以以某種方式使用github API爲現有存儲庫返回一組標記嗎?

我有一個文件,我定期「提交」版本標籤。所以我希望能夠打電話給github,並返回如下內容:

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

或者甚至可能包含標記和日期的關聯數組。

但無論如何,我想然後打電話給Github並返回此列表。然後,我可以允許用戶選擇自己的版本,希望看到使用下面的GitHub網址:

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

有什麼建議? 謝謝。

回答

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", 
+0

非常有益的起點。謝謝 – Jeff