21

如果您查看: http: //developer.github.com/v3/pulls/,它向您展示了如何获取给定存储库的拉取请求。

我们如何从 GitHub API 中获取类似于 GitHub 仪表板上显示的数据的“我的拉取请求”?

我需要这样的东西

4

3 回答 3

17

我直接问Github。一位代表告诉我使用搜索端点。搜索您拥有的未解决且类型为 的问题pr

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

如果你使用像Pygithub这样的 python 客户端库,你可以这样做

issues = gh.search_issues('', state='open', author='davidxia', type='pr')
于 2017-05-05T14:41:23.553 回答
12

您还可以使用GraphQL API v4来获取所有拉取请求:

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

在资源管理器中尝试

或使用viewer

{
  viewer {
    pullRequests(first: 100, states: OPEN) {
      totalCount
      nodes {
        createdAt
        number
        title
      }
      pageInfo {
        hasNextPage
        endCursor
      }
    }
  }
}
于 2017-11-27T19:33:20.023 回答
10

首先,您必须意识到您必须使用基本身份验证或令牌进行身份验证。接下来你必须意识到没有简单的方法可以做到这一点,所以你必须聪明。

具体来说,如果您进行探测https://api.github.com/issues,您会注意到那里的问题有一个称为哈希的哈希pull_request,它应该有 3 个 URL:html、diff 和 patch。如果问题也是一个拉取请求,那么这三个都将是非空的。(专业提示:就 GitHub 而言,它们是一回事……有点。)

如果您迭代您的问题并过滤那些属性不为空的问题,那么您将收到您的拉取请求。

于 2013-07-03T02:09:27.397 回答