2013-07-01 5 views
10

Wenn Sie sich ansehen: http://developer.github.com/v3/pulls/ sollten Sie wie Pull-Anforderungen für ein Repository erhalten.Wie bekomme ich "meine Pull Requests" von github api?

Aber wie bekomme ich "meine Pull-Requests" von der Github-API, um die Daten zu erhalten, wie es Sie in Github Dashboard zeigt?

I need something like this provides

+0

Möchten Sie eine Liste erhalten? programmatisch (wie das "api" -Wort im Titel suggeriert) oder eine Ansicht im Browser öffnen (wie das Bild suggeriert)? –

+0

@EmilLundberg das Bild suggeriert er nahm das selbst und so vermute ich die Frage ist offensichtlich wie er das programmatisch machen könnte. :) –

+0

@ sigmavirus24 Ich folge nicht ...: o ... Oh, vielleicht hätte ich dem Link folgen sollen, das macht es ziemlich klar. xD –

Antwort

8

Zuerst müssen Sie erkennen, dass Sie authentifizieren muss entweder Standardauthentifizierung oder ein Token verwenden. Als nächstes müssen Sie erkennen, dass es keine einfache Möglichkeit gibt, dies zu tun, also müssen Sie clever sein.

Um genauer zu sein, wenn Sie Sonde https://api.github.com/issues, Sie werden feststellen, dass die Probleme gibt es einen Hash namens pull_request, die 3 URLs haben sollte: HTML, Diff und Patch. Alle drei sind nicht null, wenn das Problem auch eine Pull-Anforderung ist. (Pro-Tipp: Sie sind das gleiche, was GitHub angeht ... irgendwie.)

Wenn Sie Ihre Probleme iterieren und nach solchen filtern, bei denen diese Attribute nicht null sind, dann haben Sie Ihren Vorteil Anfragen.

+0

OK Also, wenn ich https://api.github.com/issues auf meinem Profil lief, habe ich nichts da drin. Ich habe jedoch zuvor Pull-Requests für das Konto ausgeführt, bei dem ich angemeldet war. Irgendwelche anderen Ideen? –

+0

Können Sie 'curl -u nddipiazza https: // api.github.com/issues' versuchen und mir sagen, was Sie sehen, nachdem Sie Ihr GitHub-Passwort eingegeben haben?Welche Sprache/Framework/Wrapper verwenden Sie für die Kommunikation mit der API? –

+0

Es gibt mir ein '[]' - was bedeutet das? (neben dem offensichtlichen, dass ich keine Probleme habe) –

1

Ich war mit dem https://apigee.com Werkzeug und fand diese API-Funktion:

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

Sie können dann wiederum, rufen Sie den Pulls mit

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

Das, was zu tun scheint Ich muss.

+4

Ich denke, das würde _all_ PRs für dieses Repo bekommen, nicht nur deins? –

5

Ich fragte Github direkt. Ein Vertreter sagte mir, ich solle den Suchendpunkt verwenden. Suchen Sie nach Ausgaben, die Ihnen gehören und die geöffnet sind und vom Typ pr sind.

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

Wenn Sie ein Python-Client lib wie Pygithub verwenden, können Sie

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

ahhhh ich mag das besser –

+0

Es funktioniert, aber es ist nicht so intuitiv. Es sollte einfacher sein als das, aber ich denke mal, wenn du es weißt ... –

1

Sie auch GraphQL API v4 alle Anfragen Ihre Pull bekommen können tun:

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

Try it in the explorer

Verwandte Themen