2013-04-10 5 views
13

मैं विशिष्ट जिथब परियोजनाओं के लिए किए गए कार्यों की संख्या, और उनके भीतर विशिष्ट फ़ाइलों को ढूंढना चाहता हूं। मैंने github api docs की जांच की लेकिन वास्तव में सभी कामों को वापस करने के लिए केवल एक एपीआई मिला। यह बहुत अक्षम होगा क्योंकि मुझे सभी कामों के माध्यम से पेजिंग के लिए कई एपीआई कॉल करना पड़ता है।github api: रिपॉजिटरी के लिए काम करने की संख्या को कुशलता से कैसे प्राप्त करें?

किसी के पास कोई बेहतर विचार है?

+0

मेरी अद्यतन उत्तर देखें। – VonC

+0

@ डोरव हैलो, क्या आप कृपया मुझे बता सकते हैं कि आपने एक्सेस टोकन को कैसे एकीकृत किया? – user6456773

उत्तर

9

अद्यतन मई 2013: अब आप कर सकते हैं Get the last year of commit activity data

GET /repos/:owner/:repo/stats/commit_activity 

सप्ताह के आधार पर वर्गीकृत प्रतिबद्ध गतिविधि के पिछले साल रिटर्न देख "File CRUD and repository statistics now available in the API"

। दिन सरणी रविवार से शुरू होने वाले प्रति दिन काम करने का एक समूह है।

पूरी तरह से जो आप खोज रहे हैं, लेकिन करीब।


मूल जवाब (अप्रैल 2010)

नहीं है, वर्तमान एपीआई सभी शाखाओं से सभी commmits लिस्टिंग के लिए एक 'log --all' का समर्थन नहीं करता।

एकमात्र विकल्प "Github API: Retrieve all commits for all branches for a repo" में प्रस्तुत किया गया है, और शाखा शाखा के बाद शाखा के सभी पृष्ठों के माध्यम से सूचीबद्ध किया गया है।

यह वास्तव में क्लोन गीथब रेपो और apply git commands on that local clone पर एक और विकल्प की तुलना में इतना बोझिल लगता है!
(मुख्य रूप से git shortlog)

+0

उत्तर के लिए धन्यवाद, उम्मीद है कि एपीआई कुछ समय में सुधारने जा रहा है – drorw

+2

@ डोरव यदि आपके पास एपीआई के बारे में विशिष्ट सुझाव या फीचर अनुरोध हैं, तो आपको गिटहब समर्थन ई-मेल करना चाहिए और उन्हें बताना चाहिए: https://github.com/संपर्क –

+0

अद्यतन के लिए धन्यवाद, निश्चित रूप से – drorw

1
GraphQL API v4 साथ

, आप प्रत्येक शाखा के लिए totalCount के साथ शाखा प्रति कुल निर्धारित संख्या प्राप्त कर सकते हैं:

{ 
    repository(owner: "google", name: "gson") { 
    name 
    refs(first: 100, refPrefix: "refs/heads/") { 
     edges { 
     node { 
      name 
      target { 
      ... on Commit { 
       id 
       history(first: 0) { 
       totalCount 
       } 
      } 
      } 
     } 
     } 
    } 
    } 
} 

Test it in the explorer

संबंधित मुद्दे