Как получить все рецензенты в 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
}
},
}
}
}
}
}
}
}