获取特定用户的问题和拉取请求

Getting Issues and Pull Requests for a specific user

我正在根据用户传入的存储库名称通过 API 拉取所有问题并拉取对几个组织拥有的存储库的请求。我希望能够显示所有 issues/pull 分配给用户的请求以及用户评论的最新问题和拉取请求。

我可以通过提取用户所属的所有存储库的所有 issues/PRs 来完成此操作,然后进行一些处理以准确找到哪些仅分配给了用户名。问题是这不能很好地扩展:如果多个用户在同一时间范围内请求此数据,我将很快突破 API 速率限制。

我想知道是否有任何方法可以仅针对特定用户名获取 issues/PRs?或者有任何其他方法可以解决这个问题,不需要每次都为所有回购获取所有 issues/PRs。提前致谢。

您可以使用 Github Graphql API v4 通过单个请求执行此操作。

以下请求将搜索 state:open 的问题以查找特定用户 assignee 的特定回购以及已对此问题发表评论的特定 commenter 用户:

{
  search(first: 100, type: ISSUE, query: "user:CosmicMind repo:material assignee:danieldahan commenter:danieldahan state:open") {
    issueCount
    pageInfo {
      hasNextPage
      endCursor
    }
    edges {
      node {
        ... on Issue {
          createdAt
          title
          url
        }
      }
    }
  }
}

您可以在the explorer

中测试