11

Is there a way to find out the acceptance rate of one's GitHub PR's, probably using the API?

While at that, it would be interesting to find out how many of the issues I reported have been closed vs. are still open, across all repos.

Hossein Mousavi
  • 3,118
  • 3
  • 16
  • 35
Dan Dascalescu
  • 143,271
  • 52
  • 317
  • 404

4 Answers4

7

You can also use GraphQL API v4 to use a single request to get total number of issues, PR with count per state (CLOSED, OPENED or MERGED) :

{
  user(login: "bertrandmartel") {
    totalPR: pullRequests {
      totalCount
    }
    openedPR: pullRequests(states: OPEN) {
      totalCount
    }
    closedPR: pullRequests(states: CLOSED) {
      totalCount
    }
    mergedPR: pullRequests(states: MERGED) {
      totalCount
    }
    totalIssues: issues {
      totalCount
    }
    openedIssues: issues(states: OPEN) {
      totalCount
    }
    closedIssues: issues(states: CLOSED) {
      totalCount
    }
  }
}

Try it in the explorer

which gives you a result like the following :

{
  "data": {
    "user": {
      "totalPR": {
        "totalCount": 17
      },
      "openedPR": {
        "totalCount": 4
      },
      "closedPR": {
        "totalCount": 1
      },
      "mergedPR": {
        "totalCount": 12
      },
      "totalIssues": {
        "totalCount": 80
      },
      "openedIssues": {
        "totalCount": 7
      },
      "closedIssues": {
        "totalCount": 73
      }
    }
  }
}
Bertrand Martel
  • 42,756
  • 16
  • 135
  • 159
3

I don't see a way to get that information directly. That leaves you with the GitHub Issues Events API.
With that, you can list all the events of a repo:

GET /repos/:owner/:repo/issues/events
https://api.github.com/repos/user/reponame/issues/events

And filter on a user and an event (looking for "merged": true)

VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
2

Certainly there is an indirect way to know your all accepted PR requests and that is GitHub resume. Yes, GitHub resume is something which generates resume of users on the basis of their GitHub activity.

So, go and star the project https://github.com/resume/resume.github.com and then visit http://resume.github.io. There you will see list of your all accepted PR requests.

Note: You need to star the project first, they don't allow to generate the resume otherwise.

Shivam
  • 192
  • 1
  • 12
  • I think it's showing a list of popular repositories only (not list of PRs). By the way it's "star" the project (not "start") – Adrian Ang Apr 13 '23 at 15:27
2

2023 GitHub New Design Update

With the recent implementation of the new GitHub UI, locating all the Pull Requests assigned to you has become effortless. Simply navigate to your profile and utilize the designated button to access them.

enter image description here

For your convenience, you can easily replace your username with mine by clicking on the following link:

https://github.com/pulls?q=is%3Apr+archived%3Afalse+author%3Ahossein13m

Hossein Mousavi
  • 3,118
  • 3
  • 16
  • 35
  • You can use https://github.com/pulls?q=is%3Apr+archived%3Afalse+author%3A%40me to view your own PRs without needing to replace your own username in the link. – InsertDisplayNameHere Aug 11 '23 at 12:34