使用 Octokit 获取日期范围内的拉取请求

Using Octokit to fetch pull request within a date range

我正在使用 Octokit/rest js 从存储库中获取拉取请求。

理想情况下,我希望有从 x 日期到 y 日期的拉取请求,具体取决于创建日期。

有办法吗?

现在我正在获取所有拉取请求,然后迭代它们。

理想情况下,我想在请求中传递一些参数。这就是我现在正在做的事情:

 const pullRequests = await octokit.paginate(
          '/repos/{owner}/{repo}/pulls',
          {
            owner: organization.providerLogin,
            repo: repository.name,
            state: 'all',
          },

这就是我想做的事情:

 const pullRequests = await octokit.paginate(
          '/repos/{owner}/{repo}/pulls?q=createdat2022-04-01..2022-04-07',
          {
            owner: organization.providerLogin,
            repo: repository.name,
            state: 'all',
          },

我会用 @octokit/restGitHub's Search API 一起完成这项工作。

const { Octokit } = require("@octokit/rest");

const octokit = new Octokit();

const prs = await octokit.rest.search.issuesAndPullRequests({
  q: `type:pr+repo:${organization.providerLogin}/${repository.name}+created:>=2022-01-01`,
  per_page: 100, // use the number you like
});

console.log(prs.data.items)

我创建了一个你可以玩的 RunKit:https://runkit.com/dominguezcelada/625035fc20b0c4000842fde9


您可以用 octokit.paginate() 包装前面的代码片段以获得所有分页结果。

Octokit Docs recommend to use octokit.paginate.iterator so you can run the iterator asynchronously


让我知道这是否有效。如有必要,我很乐意为您提供帮助。