2013-07-31 12 views
15

Così ora è possibile gestire e pubblicare i file binari direttamente su Github, la funzione è tornata dall'inizio di questo mese (source).Numero di traccia del download di una versione (file binari) su Github

Mi sono guardato intorno all'interfaccia Github e non ho visto un tracker di download. Questa è una funzione offerta da Google Code e mi chiedevo se Github ha lo stesso.

Si prega di notare, non sono interessato a conoscere il numero di download di un repo, questo è a different topic.

risposta

9

È possibile utilizzare l'API GitHub per ottenere il download_count tra le altre cose per una singola attività di rilascio:

http://developer.github.com/v3/repos/releases/#get-a-single-release-asset

Questo è come appare attualmente, ma si prega di controllare il link qui sopra nel caso in cui nulla è cambiato poiché questa risposta è stata scritta.

GET /repos/:owner/:repo/releases/assets/:id

{ "url": "https://api.github.com/repos/octocat/Hello-World/releases/assets/1", "id": 1, "name": "example.zip", "label": "short description", "state": "uploaded", "content_type": "application/zip", "size": 1024, "download_count": 42, "created_at": "2013-02-27T19:35:32Z", "updated_at": "2013-02-27T19:35:32Z" }

17

Sulla base di Petros risposta, ho usato i due seguente comando ricciolo:

per ottenere l'elenco di tutte le emissioni compreso il loro ID e il numero di scaricare:

curl -i https://api.github.com/repos/:owner/:repo/releases -H "Accept: application/vnd.github.manifold-preview+json" 

Ad esempio per elencare tutte le versioni per il progetto OpenRefine:

curl -i https://api.github.com/repos/openrefine/openrefine/releases -H "Accept: application/vnd.github.manifold-preview+json" 

Poi, per ottenere informazioni dettagliate su ogni release (è necessario eseguire la prima query per ottenere l'ID della release)

curl -i https://api.github.com/repos/:owner/:repo/releases/assets/:release_id -H "Accept: application/vnd.github.manifold-preview+json" 

Con lo stesso esempio per elencare i dettagli, compreso il numero di download per google-refine-2.5-r2407.zip

curl -i https://api.github.com/repos/openrefine/openrefine/releases/assets/6513 -H "Accept: application/vnd.github.manifold-preview+json" 
+2

La prima richiesta restituisce un array JSON vuoto, nonostante il fatto che Github mostri che il mio repo ha delle versioni. Questa risposta deve essere aggiornata? –

+0

Il primo comando funziona, e vedo un campo 'id:' ma nessun campo 'download_count'. Tentativo del 2o metodo (ma virando su id 'a eh URL) risulta in 'HTTP 404 Not Found' – Demis

+0

Sembra che ora la sintassi sia' curl -i https://api.github.com/repos/:owner /: repo/releases /: releaseID -H "Accetta: application/vnd.github.manifold-preview + json" '- ie. rimuovere il percorso 'assets /'. Non vedo ancora un campo 'download_count', non so perché. – Demis

Problemi correlati