Как получить все рецензенты в PR в GitHub Probot

Как получить все рецензенты по запросу Probot? я использую typescript, Я тоже слушаю pull_request тип события в Пробот. Я думаю, что мне нужно позвонить context.github.pullRequests.getReview чтобы получить список рецензентов, но так как я новичок в NodeJs а также typescriptЯ не уверен, как вызвать функцию ниже. Какие-либо входы?

Также, getReview принимает параметр {owner:,repo:,number:, review_id:}в моем случае у меня просто есть pr_number,

 getReview(
      params: Github.PullRequestsGetReviewParams,
      callback?: Github.Callback<
        Github.Response<Github.PullRequestsGetReviewResponse>
      >
    ): Promise<Github.Response<Github.PullRequestsGetReviewResponse>>;

1 ответ

Как упоминалось в моем комментарии выше, список проверок по запросу извлечения не возвращает отзывы, а вместо этого запрашивает проверку.

Я не смог найти конечную точку API REST, но вместо этого вы могли бы отправить запрос GraphQL

    query {
        resource(url:"https://github.com/probot/probot/pull/870") {
            ... on PullRequest {
                title
                url
                reviews(first: 100) {
                    nodes {
                        author {
                            login
                        }
                    }
                }
            }
        }
    }

Вы можете использовать context.graphql метод для этого. См. https://github.com/octokit/graphql.js для его API. Убедитесь, что вы используете последнюю версию Probot (текущая 9.2.4)

Для нас это в requestedReviewer объект reviewRequests с помощью pullRequests запрос.

Следует отметить, что рецензент может быть User или Team поэтому нам нужно использовать оператор спреда ... on User/Team чтобы они получили разные поля.

query {
  compass: repository(owner: "YourOrg", name: "YourRepo") {
    pullRequests(states: [OPEN], last: 10) {
      edges {
        node {
          title,
          updatedAt,
          url
          mergeable
          author {
            login
          },
          reviewRequests(first: 10) {
            nodes{
              requestedReviewer{
                ... on User {
                  userName: name
                  login                  
                }
                ... on Team {
                  teamName: name
                }
              },

            }
          }
        }
      }
    }
  }
}
Другие вопросы по тегам