我有一個要求,我必須拉我的GitHub存儲庫中的問題列表,並製作出數據圖表。但是,我堅持從我的GitHub存儲庫中提取問題列表。如何從github導出「問題」數據並處理它?
我試圖理解GIT API頁面,但我真的不知道從哪裏開始工作。
如果有人以前做過這樣的事情,請對此有所瞭解。
我有一個要求,我必須拉我的GitHub存儲庫中的問題列表,並製作出數據圖表。但是,我堅持從我的GitHub存儲庫中提取問題列表。如何從github導出「問題」數據並處理它?
我試圖理解GIT API頁面,但我真的不知道從哪裏開始工作。
如果有人以前做過這樣的事情,請對此有所瞭解。
您可以檢查出這確實導出一個項目的問題,作爲一個CSV文件(Excel的實例)python script unbracketed/export_repo_issues_to_csv.py
,使用GitHub Issue API:
您將看到使用的API查詢:
REPO = '' # format is username/repo
ISSUES_FOR_REPO_URL = 'https://api.github.com/repos/%s/issues' % REPO
r = requests.get(ISSUES_FOR_REPO_URL, auth=AUTH)
我試圖理解GIT API頁面,但我真的不知道從哪裏從我開始工作。
你可能更喜歡使用圖書館以您選擇的語言與Github交談,而不是從頭開始。 Github API有許多細微差別,例如分頁,緩存,速率限制,這些庫爲您處理的錯誤處理。
Perl在others之間有Pithub和Net::Github。 Ruby有github_api等等。
如果你真的想與curl
做到這一點,在Github API overview使用curl
它的所有基本的例子。獲取問題列表非常簡單。
要"List issues for a repository" Github上說要GET /repos/:owner/:repo/issues
。這意味着如Schema docs中提到的https://api.github.com/
的GET請求與路徑/repos/:owner/:repo/issues
。您填寫:owner
和:repo
。
curl 'https://api.github.com/repos/evalEmpire/perl5i/issues'
這將在一個大的JSON列表中得到all the open issues for evalEmpire's perl5i repository。然後,您可以使用JSON解析器將其轉換爲數據結構,並根據您的喜好進行操作。
您還可以添加各種參數作爲查詢字符串的一部分。這將讓所有的問題,因爲2016年
curl 'https://api.github.com/repos/evalEmpire/perl5i/issues?state=all&since=2016-07-01T00:00:00Z'
中間更新