18

So now you can manage and publish your binaries directly on Github, the feature is back from early this month (source).

I've been looking around Github interface and I haven't seen a download tracker. This is a feature Google Code offer and I was wondering if Github has the same.

Please note, I am not interested to know the number of download of a repo, this is a different topic.

1

3 Answers 3

18

Based on Petros answer, I used the two following curl command:

To get the list of all releases including their id and number of download:

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

For example to list all the release for the OpenRefine project:

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

Then to get details on each release (you will need to run the first query to get the release id)

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

With the same example to list the details including download number for 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"
Sign up to request clarification or add additional context in comments.

4 Comments

The first request is returning an empty json array, despite the fact that github shows that my repo has releases. Does this answer need updating?
The first command works, and I see an id: field but no download_count field. Attempting the 2nd method (but tacking on the id to eh URL) results in HTTP 404 Not Found
It looks like now the syntax is curl -i https://api.github.com/repos/:owner/:repo/releases/:releaseID -H "Accept: application/vnd.github.manifold-preview+json" - ie. remove the assets/ path. I still don't see a download_count field though, not sure why.
I just double check both queries and they work fine. I have them in a cron script that run daily. I will update the answer with concrete example
9

You can use the GitHub API to get the download_count among other things for a single release asset:

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

This is how it looks currently, but please check the link above just in case anything changed since this answer was written.

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" }

Comments

1

You can add a badge to your github repo. See this answer for more details.

Also, there is a nifty project that shows all of this data in a nice website which is over here: https://www.somsubhra.com/github-release-stats/

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.