如何使用Github的v4 GraphQL API按用户查询审阅请求?

lis*_*szt 4 github github-api graphql github-graphql

给定用户的ID,我想获取所有请求请求审阅者的请求请求。

以下内容将不起作用,因为它仅允许我获取该用户打开的拉取请求:

query {
  node(id: "$user") {
    ... on User {
      pullRequests(first: 100) {
        nodes {
          reviewRequests(first: 100) {
            nodes {
              requestedReviewer {
                ... on User {
                  id
                }
              }
            }
          }
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

谢谢!

Ber*_*tel 6

您可以从用户ID中获取用户名,然后进行搜索review-requested以匹配请求审核的用户:

获取用户名:

{
  node(id: "MDQ6VXNlcjk2OTQ3") {
    ... on User {
      login
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

获得公开PR,要求用户进行审查:

{
  search(query: "type:pr state:open review-requested:refack", type: ISSUE, first: 100) {
    issueCount
    pageInfo {
      endCursor
      startCursor
    }
    edges {
      node {
        ... on PullRequest {
          repository {
            nameWithOwner
          }
          number
          url
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

您可以将查询字符串定义为变量,在资源管理器中尝试