回答:
アップデート2019:
/repos/:owner/:repo/traffic/clones
、1日または1週間あたりのクローンと内訳の総数を取得しますが、過去14日間のみです。/repos/:owner/:repo/releases/:release_id
アセット(リリースに添付されているファイル)のダウンロード数を取得するためのAPI 。フィールドdownload_count
は下記のとおりですが、コメント付きのように、最新の30リリースのみです。2017年の更新
あなたはまだ使用することができますGitHubのAPIをするあなたのためのダウンロード回数取得リリース(ではない正確に頼まれた何を)
「を参照してくださいシングルリリースを取得、」download_count
フィールドを。
repoクローンの数を示すトラフィック画面はなくなりました。
代わりに、次のようなサードパーティのサービスに依存する必要があります。
www.netguru.co/gititback
)、ただしそれでもクローンの数は含まれません。www.somsubhra.com/github-release-stats(下記参照)。
たとえば、これは最新のgit for Windowsリリースの番号です
2014年8月の更新
GitHubは、そのトラフィックグラフでレポのクローンの数も提案しています。
「クローングラフ」を参照してください。
2013年10月更新
前述のように下にでandyberry88、そして私のように最後の7月に詳細、GitHubのは現在のリリース提案している(参照そのAPIを)、持ってdownload_count
フィールドを。
Michele Milidoniは、彼の(賛成)回答で、Pythonスクリプトでそのフィールドを使用しています。
(非常に小さな抽出)
c.setopt(c.URL, 'https://api.github.com/repos/' + full_name + '/releases')
for p in myobj:
if "assets" in p:
for asset in p['assets']:
print (asset['name'] + ": " + str(asset['download_count']) +
" downloads")
元の回答(2010年12月)
GitHubリポジトリAPIには表示されないため、その情報が表示されるかどうかはわかりません(記録されている場合)。
$ curl http://github.com/api/v2/yaml/repos/show/schacon/grit
---
repository:
:name: grit
:owner: schacon
:source: mojombo/grit # The original repo at top of the pyramid
:parent: defunkt/grit # This repo's direct parent
:description: Grit is a Ruby library for extracting information from a
git repository in an object oriented manner - this fork tries to
intergrate as much pure-ruby functionality as possible
:forks: 4
:watchers: 67
:private: false
:url: http://github.com/schacon/grit
:fork: true
:homepage: http://grit.rubyforge.org/
:has_wiki: true
:has_issues: false
:has_downloads: true
ダウンロードがあるかどうかしか確認できません。
download_count
リリースAPIのフィールドについて話している場合は、リリースダウンロードの数(必ずしもzipではなく、クローンではない)を含める必要があります
git clone
インスタンスのみ。確認については、GitHubサポートに確認してください。
私は書かれている小規模なWebアプリケーションのGithub上の任意のプロジェクトの使用可能なリリースにおけるすべての資産のダウンロード数のカウントを示すためにJavaScriptでを。ここからアプリケーションを試すことができます:http : //somsubhra.github.io/github-release-stats/
GitHubはダウンロードのサポートを廃止し、「リリース」をサポートするようになりました-https://github.com/blog/1547-release-your-software。リリースを作成するには、GitHub UIを使用するか、注釈付きタグ(http:// git-scm.com/book/ch2-6.html)を作成して、GitHubでリリースノートを追加します。その後、バイナリまたは「アセット」を各リリースにアップロードできます。
いくつかのリリースを取得すると、GitHub APIはそれらとそのアセットに関する情報の取得をサポートします。
curl -i \
https://api.github.com/repos/:owner/:repo/releases \
-H "Accept: application/vnd.github.manifold-preview+json"
「download_count」エントリを探します。http://developer.github.com/v3/repos/releases/に詳細情報があります。APIのこの部分はまだプレビュー期間のATMであるため、変更される可能性があります。
GitHubのリリースAPIはプレビュー期間を過ぎているため、「Accept」ヘッダーは不要になりました-http://developer.github.com/changes/2013-11-04-releases-api-is-official/
ただし、 'Accept'ヘッダーを追加し続けても害はありません。
downloads
(少なくともこの手法を使用して)アセットのフィールドをもう表示していないと思うのは間違っていますか?
download_count
ダウンロード数を示すフィールドです(例:api.github.com/repos/twbs/bootstrap/releases)。このリストには「リリース」のみが表示され、レポのリリースページに表示されるタグはAPIリストに表示されないことに注意してください。developer.github.com/v3/repos/releasesを参照してください。たとえば、github.com / jquery / jquery / releasesはリリースセクションの下にいくつかのタグをリストしますが、api.github.com/repos/jquery/jquery/releasesに対して空のリストが返されます。
count=0
)?または、クローンリクエストのフィールドのみを表示しますか?これを参照してくださいdownload_count
: api.github.com/repos/demisjohn/pytrimsetup/releases。そのgithubページはこちらです:github.com/demisjohn/pyTRIMSetup/releases
bootstrap-XYZ-dist.zip
、download_count
フィールドに関連する資産があります。リリースをダウンロードしている人の数を確認したい場合は、リリースzipをアップロードする必要があります。私の知る限り、APIを使用してアーカイブのクローンを作成/ダウンロードした人の数を確認する方法はありません。(上記のstackoverflow.com/a/4339085/2634854からの)グラフビューは、あなたが何をしているのかを与えるかもしれません。
以前は、Githubにダウンロードコードの2つの方法がありました:.gitリポジトリのクローンを作成するか、zipとしてダウンロードするか、後でダウンロードするためにファイル(たとえば、バイナリ)をアップロードしました。
リポジトリをダウンロードするとき(クローンまたはzipとしてダウンロード)、Githubは技術的な制限のためにダウンロード数をカウントしません。リポジトリのクローンは読み取り専用操作です。認証は必要ありません。この操作は、HTTPSを含む多くのプロトコルを介して実行できます。HTTPSは、ブラウザでリポジトリを表示するためにWebページが使用するプロトコルと同じです。数えるのはとても難しいです。
参照:http : //git-scm.com/book/en/Git-on-the-Server-The-Protocols
最近、Githubはダウンロード機能を廃止します。これは、Githubがソフトウェアのビルドに集中しており、バイナリの配布に集中していないことを彼らが理解しているためです。
前述のように、GitHub APIはバイナリファイルリリースのダウンロード数を返します。コマンドラインで簡単にダウンロード数を取得するための小さなスクリプトを開発しました。
非常に遅いですが、ここにあなたが望む答えがあります:
https://api.github.com/repos/ [git username] / [git project] /releases
次に、データで探しているプロジェクトのIDを見つけます。上部近く、URLの横にあるはずです。次に移動します
https://api.github.com/repos/ [git username] / [git project] /releases/ [id] / assets
download_countというフィールドが答えです。
編集:大文字はユーザー名とプロジェクト名で重要です
{ "message": "Not Found", "documentation_url": "https://developer.github.com/v3" }
Github APIは必要な情報を提供しなくなりました。Stan Towianskiの回答に記載されているリリースページをご覧ください。その回答に対するコメントで説明したように、Github APIは、リリースごとに彼が提供する3つのファイルのうちの1つのダウンロードのみを報告します。
この質問に対する他のいくつかの回答で提供されている解決策を確認しました。フォンクの答えは、ミケーレミリドーニのソリューションの本質的な部分を示しています。私は彼のgdcスクリプトをインストールして次の結果を得ました
# ./gdc stant
mdcsvimporter.mxt: 37 downloads
mdcsvimporter.mxt: 80 downloads
How-to-use-mdcsvimporter-beta-16.zip: 12 downloads
ご覧のとおり、gdcはtar.gzおよびzipファイルのダウンロード数を報告しません。
あなたは何をインストールせずにチェックしたい場合は、してみてくださいWebページ Somsubhraがで述べた解決策、インストールされている彼の答えを。Githubユーザー名として「stant」、リポジトリ名として「mdcsvimporter2015」を入力すると、次のようになります。
Download Info:
mdcsvimporter.mxt(0.20MB) - Downloaded 37 times.
Last updated on 2015-03-26
悲しいかな、ここでもtar.gzとzipファイルをダウンロードしないレポートのみです。GithubのAPIが返す情報を注意深く調べましたが、どこにも提供されていません。APIが返すdownload_countは、今日では完全とはほど遠いものです。
リリースファイル/パッケージがダウンロードされた回数を確認するには、https://githubstats0.firebaseapp.comにアクセスでき ます
それはあなたに総ダウンロード数とリリースタグごとの総ダウンロードの内訳を与えます。
結局、スクレイパースクリプトを書いてクローン数を見つけました。
#!/bin/sh
#
# This script requires:
# apt-get install html-xml-utils
# apt-get install jq
#
USERNAME=dougluce
PASSWORD="PASSWORD GOES HERE, BE CAREFUL!"
REPO="dougluce/node-autovivify"
TOKEN=`curl https://github.com/login -s -c /tmp/cookies.txt | \
hxnormalize | \
hxselect 'input[name=authenticity_token]' 2>/dev/null | \
perl -lne 'print $1 if /value=\"(\S+)\"/'`
curl -X POST https://github.com/session \
-s -b /tmp/cookies.txt -c /tmp/cookies2.txt \
--data-urlencode commit="Sign in" \
--data-urlencode authenticity_token="$TOKEN" \
--data-urlencode login="$USERNAME" \
--data-urlencode password="$PASSWORD" > /dev/null
curl "https://github.com/$REPO/graphs/clone-activity-data" \
-s -b /tmp/cookies2.txt \
-H "x-requested-with: XMLHttpRequest" | jq '.summary'
これは、Githubのクローングラフが使用するのと同じエンドポイントからデータを取得し、そこから合計を吐き出します。データには、1日あたりの数も含まれています。代わりに.summary
、.
きれいに印刷されたものを確認してください。
VonCとMichele Milidoniの回答に基づいて、このブックマークレットを作成しました。このブックマークレットは、githubがホストするリリース済みバイナリのダウンロード統計を表示します。
注:コンテンツセキュリティポリシーの実装に関連するブラウザーの問題のため、ブックマークレットは一時的に一部のCSPディレクティブに違反する可能性があり、CSPが有効な状態でgithubで実行すると、基本的に正しく機能しない可能性があります。
推奨されませんが、一時的な回避策としてFirefoxでCSPを無効にすることができます。about:configを開き、security.csp.enableをfalseに設定します。
これをより明確にするためにしようとするには:
このgithubのプロジェクトのために:stant / mdcsvimporter2015
https://github.com/stant/mdcsvimporter2015
リリースとで
https://github.com/stant/mdcsvimporter2015/releases
httpまたはhttpsに移動します(「api。」と「/ repos」が追加されていることに注意してください)
https://api.github.com/repos/stant/mdcsvimporter2015/releases
このjson出力が表示され、「download_count」を検索できます。
"download_count": 2,
"created_at": "2015-02-24T18:20:06Z",
"updated_at": "2015-02-24T18:20:07Z",
"browser_download_url": "https://github.com/stant/mdcsvimporter2015/releases/download/v18/mdcsvimporter-beta-18.zip"
またはコマンドラインで次を実行します:
wget --no-check-certificate https://api.github.com/repos/stant/mdcsvimporter2015/releases
2019年からの回答:
GitHubのリリース統計をクリーンな形式で表示するWebアプリを作成しました:https : //hanadigital.github.io/grev/
Pythonでのソリューションが必要な人のために、簡単なスクリプトを書きました。
ghstats.py [user] [repo] [tag] [options]
これはpip install PyGithub
パッケージを使用したpythonソリューションです
from github import Github
g = Github("youroauth key") #create token from settings page
for repo in g.get_user().get_repos():
if repo.name == "yourreponame":
releases = repo.get_releases()
for i in releases:
if i.tag_name == "yourtagname":
for j in i.get_assets():
print("{} date: {} download count: {}".format(j.name, j.updated_at, j._download_count.value))
tar.gz
zip