2013-07-01 39 views
10

如果你看看:http://developer.github.com/v3/pulls/它應該如何獲取存儲庫的請求。如何從github api獲取「我的請求」?

但是,如何從github API獲取「我的pull請求」以獲取像這樣的數據,在github儀表板中顯示您?

I need something like this provides

+0

你想得到一個列表以編程方式(如標題中的「api」詞語所示)或在瀏覽器中打開視圖(如圖所示)? –

+0

@EmilLundberg形象表明他自己拿了那個,所以我懷疑這個問題顯然是關於他如何以編程方式進行的。 :) –

+0

@ sigmavirus24我不遵循......:哦......哦,或許我應該關注鏈接,這很清楚。 xD –

回答

8

首先,你必須認識到,必須使用基本身份驗證或令牌認證。接下來,你必須認識到,沒有簡單的方法來做到這一點,所以你必須聰明。

具體而言,如果您調查https://api.github.com/issues,您會注意到那裏的問題有一個名爲pull_request的散列,它應該有3個URL:html,diff和patch。如果問題也是合併請求,則三者都將爲非空。 (Pro-Tip:就GitHub而言,它們是一樣的......有點)。

如果你迭代你的問題並篩選那些屬性不爲null的東西,那麼你將會得到你的拉要求。

+0

好所以當我在我的個人資料上運行https://api.github.com/issues時,我沒有任何內容。但是,我之前在我登錄的帳戶上完成了請求。任何其他想法? –

+0

你可以試試'curl -u nddipiazza https:// api.github.com/issues'並告訴我你輸入你的GitHub密碼後看到了什麼?您還使用什麼語言/框架/包裝與API進行通信? –

+0

它給了我一個'[]' - 這是什麼意思? (除了顯而易見的,我沒有任何問題) –

1

我用的是https://apigee.com工具,發現這個API函數:

https://api.github.com/user/repos

然後,您可以依次調用再換用

https://api.github.com/repos/{user}/{repo-name}/pulls

這似乎做什麼我也需要。

+4

我想這會得到_all_ PRs回購,而不僅僅是你的? –

5

我直接問了Github。代表告訴我使用搜索終結點。搜索您擁有的已開放且類型爲pr的問題。

https://api.github.com/search/issues?q=state%3Aopen+author%3Adavidxia+type%3Apr

如果你使用像Pygithub蟒客戶lib中,你可以做

issues = gh.search_issues('', state='open', author='davidxia', type='pr') 
+0

ahhhh我更喜歡那個 –

+0

它可以工作,但並不那麼直觀。它應該比這更直接,但我想你一旦知道它... –

1

您還可以使用GraphQL API v4讓你的所有引入請求:

{ 
    user(login: "bertrandmartel") { 
    pullRequests(first: 100, states: OPEN) { 
     totalCount 
     nodes { 
     createdAt 
     number 
     title 
     } 
     pageInfo { 
     hasNextPage 
     endCursor 
     } 
    } 
    } 
} 

Try it in the explorer