如何在 GitHub Probot 中检索 PR 中的所有审阅者



如何从Probot检索拉取请求中的所有审阅者?我正在使用typescript.我也在监听 Probot 中的pull_request事件类型。我想我需要调用context.github.pullRequests.getReview来获取审阅者列表,但由于我是NodeJstypescript的新手,我不确定如何调用以下函数。任何输入?

另外,getReview接受参数{owner:,repo:,number:, review_id:},就我而言,我只有pr_number

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

正如我在上面的评论中提到的,对拉取请求的列表评论不会返回评论,而是返回评论请求。

我找不到 REST API 端点,但您可以发送 GraphQL 请求

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

您可以使用context.graphql方法。有关其 API,请参阅 https://github.com/octokit/graphql.js。确保您使用的是最新版本的 Probot(当前 9.2.4(

对我们来说

,它是使用pullRequests查询reviewRequests requestedReviewer对象。

需要注意的一件事是审阅者可能是UserTeam因此我们需要利用点差运算符... 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
                }
              },
            }
          }
        }
      }
    }
  }
}

相关内容

  • 没有找到相关文章

最新更新