Как запрашивать запросы на проверку пользователем, используя Github v4 GraphQL API?

Учитывая идентификатор пользователя, я хочу получить все запросы на вытягивание, в которых они являются запрошенными рецензентами.

Следующее не будет работать, так как оно позволяет мне получать запросы на вытягивание, открытые этим пользователем:

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

Есть ли способ сделать это?

Спасибо!


person liszt    schedule 14.01.2018    source источник


Ответы (1)


Вы можете получить имя пользователя из идентификатора пользователя и выполнить поиск с помощью review-requested для соответствия пользователю, запрошенному для проверки:

получить имя пользователя:

{
  node(id: "MDQ6VXNlcjk2OTQ3") {
    ... on User {
      login
    }
  }
}

получить открытый 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
        }
      }
    }
  }
}

Вы можете определить строку запроса как переменную, попробуйте в проводнике

person Bertrand Martel    schedule 15.01.2018
comment
Красивый! Спасибо. - person liszt; 15.01.2018