답변:
2019 업데이트 :
/repos/:owner/:repo/traffic/clones
, 하루 또는 주당 총 클론 수 및 분석 수를 가져 오려면 지난 14 일 동안 만 사용하십시오./repos/:owner/:repo/releases/:release_id
필드의 자산 (릴리스에 첨부 된 파일)의 다운로드 수를 가져 오기위한 API download_count
이지만, 주석 이 표시된대로 최신 30 개 릴리스에 대해서만 ..2017 업데이트
여전히 GitHub API 를 사용 하여 릴리스 의 다운로드 수 를 얻을 수 있습니다 ( 정확히 요청 된 것은 아님 ) . 필드의 " 단일 릴리스 가져 오기
"를 참조하십시오 .download_count
더 이상 리포 클론 수를 나타내는 트래픽 화면이 없습니다.
대신 다음과 같은 타사 서비스를 사용해야합니다.
www.netguru.co/gititback
)이지만 클론 수는 포함되지 않습니다.githubstats0
아래 에 Aveek Saha가 언급 했습니다 .
www.somsubhra.com/github-release-stats 는 아래 에 언급 되어 있습니다 .
예를 들어, Windows 릴리스 의 최신 git 번호는 다음과 같습니다.
2014 년 8 월 업데이트
또한 GitHub는 트래픽 그래프에서 리포에 대한 클론 수를 제안합니다.
" 복제 그래프 "
2013 년 10 월 업데이트
andyberry88 에 의해 아래 에 언급 된 바와 같이 , 지난 7 월에 자세히 설명 했듯이 GitHub는 이제 필드 를 가진 릴리스 ( API 참조)를 제안 합니다 .download_count
Michele Milidoni 는 자신의 (공개 된) 답변 에서 파이썬 스크립트 에서 해당 필드를 사용합니다 .
( 매우 작은 추출물 )
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 의 필드에 대해 이야기하는 경우 릴리스 다운로드 수 (항상 압축되지 않고 복제되지는 않음)를 포함해야합니다.
git clone
인스턴스 만 . 확인을 위해 GitHub 지원에 문의하십시오.
Github의 모든 프로젝트 릴리스에서 모든 자산의 다운로드 수를 보여주기 위해 자바 스크립트 로 작은 웹 응용 프로그램 을 작성했습니다 . 여기에서 응용 프로그램을 시험해 볼 수 있습니다 : 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 는 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에서 다운로드 코드의 두 가지 방법이있었습니다. .git 저장소를 zip으로 복제 또는 다운로드하거나 나중에 다운로드 할 수 있도록 파일 (예 : 바이너리)을 업로드합니다.
리포지토리 (복제 또는 zip으로 다운로드)를 다운로드 할 때 Github은 기술적 인 제한으로 다운로드 횟수를 계산하지 않습니다. 리포지토리 복제는 읽기 전용 작업입니다. 인증이 필요하지 않습니다. 이 작업은 웹 페이지가 브라우저에 저장소를 표시하는 데 사용하는 것과 동일한 프로토콜 인 HTTPS를 포함한 많은 프로토콜을 통해 수행 할 수 있습니다. 계산하기가 매우 어렵습니다.
참조 : http://git-scm.com/book/en/Git-on-the-Server-The-Protocols
최근 Github은 다운로드 기능을 더 이상 사용하지 않습니다. 이는 Github이 바이너리 배포가 아닌 소프트웨어 빌드에 중점을두고 있음을 이해했기 때문입니다.
매우 늦었지만 여기에 원하는 대답이 있습니다.
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 가지 파일 중 하나의 다운로드 만보고합니다.
이 질문에 대한 다른 답변으로 제공된 솔루션을 확인했습니다. Vonc의 답변 은 Michele Milidoni 솔루션 의 핵심 부분입니다 . 다음과 같은 결과로 그의 gdc 스크립트를 설치했습니다
# ./gdc stant
mdcsvimporter.mxt: 37 downloads
mdcsvimporter.mxt: 80 downloads
How-to-use-mdcsvimporter-beta-16.zip: 12 downloads
보다시피 gdc는 tar.gz 및 zip 파일의 다운로드 수를보고하지 않습니다.
당신은 아무것도 설치하지 않고 확인하려면 시도 웹 페이지 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의 클론 그래프가 사용하는 것과 동일한 엔드 포인트에서 데이터를 가져 와서 총계를 추출합니다. 데이터에는 일일 카운트도 포함되어 있으며, 꽤 인쇄 된 것을 볼 수 있도록 대체 .summary
됩니다 .
.
VonC 및 Michele Milidoni 답변을 기반으로 github 호스팅 릴리스 바이너리의 다운로드 통계를 표시하는 이 책갈피 를 작성 했습니다.
참고 : Content Security Policy 구현과 관련된 브라우저 문제로 인해 책갈피가 일부 CSP 지시문을 일시적으로 위반할 수 있으며 CSP가 활성화 된 상태에서 github에서 실행할 때 기본적으로 제대로 작동하지 않을 수 있습니다.
권장하지는 않지만 Firefox에서 임시 해결 방법으로 CSP를 비활성화 할 수 있습니다. about : config를 열고 security.csp.enable을 false로 설정하십시오.
더 명확하게
하기 위해이 github 프로젝트의 경우 :
https://github.com/stant/mdcsvimporter2015/releases
에 릴리스 된 stant / mdcsvimporter2015
https://github.com/stant/mdcsvimporter2015
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
이미 언급했듯이 API를 통해 릴리스 에 대한 정보를 얻을 수 있습니다 .
WordPress를 사용하는 사람들을 위해이 플러그인을 개발했습니다 : GitHub Release Downloads . GitHub 리포지토리 릴리스에 대한 다운로드 수, 링크 및 추가 정보를 얻을 수 있습니다.
원래 질문을 해결하기 위해 단축 코드 [grd_count user="User" repo="MyRepo"]
는 리포지토리의 다운로드 수를 반환합니다. 이 숫자는 하나의 GitHub 리포지토리에 대한 모든 릴리스의 모든 다운로드 횟수 값의 합계에 해당합니다.
예:
2019 년 답변 :
https://hanadigital.github.io/grev/ : GitHub 릴리스 통계를 깨끗한 형식으로 보여주는 웹 앱을 만들었습니다.
파이썬에서 솔루션이 필요한 사람들을 위해 간단한 스크립트를 작성했습니다.
ghstats.py [user] [repo] [tag] [options]
다음은 pip install PyGithub
패키지를 사용하는 파이썬 솔루션입니다
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