2013-07-01 10 views
10

http://developer.github.com/v3/pulls/を見ると、リポジトリのプルリクエストを取得する方法がわかります。github apiから「私のプルリクエスト」を取得する方法は?

しかし、githubダッシュボードに表示されているように、github APIから「my pull requests」を取得してデータを取得するにはどうすればよいですか?

I need something like this provides

+0

リストを取得しますか?プログラムで(タイトルの「api」という単語が示唆するように)ブラウザ上でビューを開く(イメージが示唆するように) –

+0

@ EmilLundberg画像は彼自身がそれを取ったことを示唆しているので、どうやってプログラマチックに行うのかは明らかだと思います。 :) –

+0

@ sigmavirus24私は従っていない...:o ... D'oh、おそらく私はリンクをたどるべきだった、それはかなり明確になります。 xD –

答えて

8

まず、あなたは基本認証またはトークンのいずれかを使用して認証しなければならないことを認識する必要があります。次に、これを行う簡単な方法がないことを理解しなければなりません。そうすれば、賢明にならなければなりません。

具体的には、https://api.github.com/issuesを調べると、そこにある問題には、pull_requestと呼ばれるハッシュ(html、diff、patchの3つのURL)があることがわかります。問題がプルリクエストでもある場合は、3つすべてがnullではありません。 (Pro-tip:これはGitHubに関するものです...)

問題を繰り返して、それらの属性がnullでないものをフィルタリングすると、リクエスト。

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

あなたは、その後、順番に、

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

で引っ張るを呼び出すことができます。これは何をするかのようです:

+0

OK私のプロフィールでhttps://api.github.com/issuesを実行したとき、私はそこに何も持っていませんでした。しかし、私は以前にログインしたアカウントでリクエストをプルしました。他のアイデア? –

+0

'curl -u nddipiazza https:// api.github.com/issues'を試して、あなたのGitHubパスワードを入力した後に見えるものを教えてもらえますか?また、どの言語/フレームワーク/ラッパーを使用してAPIと通信していますか? –

+0

それは私に '[]'を与えます - それはどういう意味ですか? (明らかに、私には何の問題もありません) –

1

私はこのAPI関数をhttps://apigee.comツールを使用していました。私にも必要です。

+4

私はこれがあなたのものだけではなく、そのレポの_PRsを得るだろうと思いますか? –

5

私はGithubに直接尋ねました。担当者が検索のエンドポイントを使用するように指示しました。あなたが所有し、開かれたタイプのprの問題を検索します。

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

あなたはPygithubのようなPythonクライアントのlibを使用している場合、あなたはまた、すべてのプル要求を取得するためにGraphQL API v4を使用することができます

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

ああよかったよ。 –

+0

それはうまくいくが、直感的ではない。それはこれよりもまっすぐ進むはずですが、一度それを知ったら、私は推測します... –

1

行うことができます。

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

Try it in the explorer

関連する問題