我正在根据用户传入的存储库的名称,通过 API 拉取多个组织拥有的仓库的所有问题和拉取请求。我希望能够显示分配给用户的所有问题/拉取请求以及用户评论的最新问题和拉取请求。
我可以通过拉取用户所属的所有存储库的所有问题/PR,然后进行一些处理以准确找到仅分配给用户名的问题/PR来做到这一点。问题在于这不能很好地扩展:如果多个用户在同一时间范围内请求此数据,我将快速突破 API 速率限制。
我想知道是否有任何方法可以仅获取特定用户名的问题/PR?或者还有其他解决此问题的方法,不需要每次都获取所有存储库的所有问题/PR。提前谢谢。
您可以使用 Github Graphql API v4 通过单个请求执行此操作。
以下请求将搜索具有特定用户的特定存储库assignee
具有对此问题发表评论的特定commenter
用户的特定存储库的state:open
问题:
{
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
}
}
}
}
}
您可以在资源管理器中对其进行测试