2016-11-14 2 views
5

Ich versuche einige Statistiken über unsere Projekt-Repositories auf GitHub zu sammeln. Ich bin in der Lage, die Gesamtzahl der Commits für jeden Contributor zu erhalten, aber für den Standardzweig.Wie bekomme ich die Gesamtzahl der Commits mit GitHub API?

curl https://api.github.com/repos/cms-sw/cmssw/stats/contributors

Das Problem ist, wie kann ich die gleichen Informationen für Nicht-Standard-Filialen bekommen, wo ich einen Zweignamen angeben. Ist eine solche Operation mit der GitHub API möglich?

danke.

Antwort

0

Sie können GitHub's GraphQL API verwenden, um an diese Daten zu gelangen, obwohl sie nicht für Sie aggregiert werden.

Versuchen Sie, die folgende Abfrage in ihrer GraphQL Explorer:

query($owner:String!, $name:String!) { 
    repository(owner:$owner,name:$name) { 
    refs(first:30, refPrefix:"refs/heads/") { 
     edges { 
     cursor 
     node { 
      name 
      target { 
      ... on Commit { 
       history(first:30) { 
       edges { 
        cursor 
        node { 
        author { 
         email 
        } 
        } 
       } 
       } 
      } 
      } 
     } 
     } 
    } 
    } 
} 

Mit diesen Variablen:

{ 
    "owner": "rails", 
    "name": "rails" 
} 

, dass jeder der Autor E-Mails für jeden der Festschreibungen von jedem der Zweige auflisten wird in ein bestimmtes Repository. Es wäre an Ihnen, über die Daten zu paginieren (etwas wie cursor: "b7aa251234357f7ddddccabcbce332af39dd95f6" nach den first:30 Argumenten hinzuzufügen). Sie müssten auch die Zählungen an Ihrem Ende aggregieren.

Hoffe, das hilft.

Verwandte Themen