2013-04-12 7 views

risposta

37

Considerando la GitHub API for Users ancora non esporre tali informazioni particolari (numero di giorni per il flusso di contributi), potrebbe essere necessario:

  • raschiare (estrarlo leggendo la pagina GitHub dell'utente)
    Come klamping menzioni in his answer (upvoted), l'URL di scarto sarebbe:
    https://github.com/users/<username>/contributions_calendar_data
    https://github.com/users/<username>/contributions
    (per i pronti contro termine pubblici solo, però)

    SherlockStd ha un updated (May 2017) parsing code di seguito:

    https://github-stats.com/api/user/streak/current/:username 
    
  • progetti try che utilizzano https://github.com/users/<username>/contributions_calendar_data (elencati Marques Johansson s' answer, upvoted)

git-stats

https://github.com/akerl/githubchart

https://raw.github.com/k4rthik/git-cal/master/screenshots/img1.png

git-cal è un semplice script per view impegna calendario (simile a GitHub calendario contributi) sulla riga di comando.
Ogni blocco nel grafico corrisponde a un giorno ed è ombreggiato con uno dei 5 possibili colori, ciascuno rappresentante il numero relativo di commit in quel giorno.

  • o stabilire un servizio che riferirà, ogni giorno, ogni nuovo commit per quel dato giorno per un calendario di Google (utilizzando l'API di Google Calendar tramite un progetto come nf/streak).
    È quindi possibile leggere tali informazioni e segnalarle nel proprio blog.

Google Calendar streak


si possono trovare vari esempio di raschiare le informazioni:

Come in:

$.getJSON('https://github.com/users/' + location.pathname.replace(/\//g, '') + '/contributions_calendar_data', weekendWork); 

come:

leaderboard = members.map do |u| 
    user_stats = get("https://github.com/users/#{u}/contributions_calendar_data") 
    total = user_stats.map { |s| s[1] }.reduce(&:+) 
    [u, total] 
end 
  • ... (si ottiene l'idea)
+0

Obsoleto, guarda [il mio commento] (http://stackoverflow.com/questions/15978845/how-can-i-add-current-streak-of-contributions-from-github-to-my-blog/ 44007340 # 44007340) – SherlockStd

17

L'URL per i dati JSON pianura era: https://github.com/users/[username]/contributions_calendar_data [Edit: Sembra che questo URL non funziona più)

C'è un URL che genera l'SVG, che altre risposte hanno indicato. Questo è il seguente: https://github.com/users/[username]/contributions

Basta sostituire [nome utente] con il proprio nome utente github nell'URL e si dovrebbe essere in grado di vedere il grafico. Vedi altre risposte per ulteriori spiegazioni approfondite

+4

+1. Buona pesca! L'ho fatto riferimento nella mia risposta. – VonC

+0

i dati che arrivano sono solo per i repository pubblici. – AnkitG

+1

È obsoleto? –

2

Se vuoi qualcosa che corrisponda all'aspetto visivo del grafico di GitHub, dai un'occhiata a questi progetti che usano https://github.com/users/<username>/contributions_calendar_data ma applica anche altri fattori basati sulla logica di Github.

+0

+1. bella scoperta Ho incluso questi progetti nella mia risposta sopra per maggiore visibilità. – VonC

2

Dal momento che l'URL https://github.com/users/<username>/contributions_calendar_data non funzionano più, è necessario analizzare lo SVG da https://github.com/users/<username>/contributions.

Sfortunatamente, Github ama la sicurezza e CORS è disabilitato sul proprio server.

Per risolvere questo problema, ho installato un'API per me e per chiunque ne abbia bisogno, a soli GET https://github-stats.com/api/user/streak/current/{username} (CORS consentiti), e si otterrà e risposta come:

{ 
    "success":true, 
    "currentStreak": 3 
} 

https://github-stats.com presto implementare più statistiche endpoint :)

Si prega di chiedere il nuovo endpoint a https://github.com/SherlockStd/github-stats.com/issues, sarà un piacere trovare un modo per implementarli!

+0

Ben fatto. +1. Ho incluso un link al tuo post nella mia risposta, per maggiore visibilità. – VonC

+0

@VonC grazie! – SherlockStd

+0

Ma in realtà non funziona a causa di CORS, quindi sto implementando un server per questo, pubblicherò l'URL stasera – SherlockStd

Problemi correlati