Skip to content

Commit 9887d8d

Browse files
committed
Fix download pr tests
1 parent 6b8300f commit 9887d8d

File tree

1 file changed

+16
-13
lines changed

1 file changed

+16
-13
lines changed

services/migrations/github.go

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -807,11 +807,9 @@ func (g *GithubDownloaderV3) GetNewPullRequests(page, perPage int, updatedAfter
807807
if perPage > g.maxPerPage {
808808
perPage = g.maxPerPage
809809
}
810-
opt := &github.IssueListByRepoOptions{
811-
Sort: "created",
812-
Direction: "asc",
813-
State: "all",
814-
Since: updatedAfter,
810+
opt := &github.SearchOptions{
811+
Sort: "created",
812+
Order: "asc",
815813
ListOptions: github.ListOptions{
816814
PerPage: perPage,
817815
Page: page,
@@ -820,17 +818,22 @@ func (g *GithubDownloaderV3) GetNewPullRequests(page, perPage int, updatedAfter
820818

821819
allPRs := make([]*base.PullRequest, 0, perPage)
822820
g.waitAndPickClient()
823-
issues, resp, err := g.getClient().Issues.ListByRepo(g.ctx, g.repoOwner, g.repoName, opt)
821+
822+
searchQuery := fmt.Sprintf("repo:%s/%s is:pr", g.repoOwner, g.repoName)
823+
if !updatedAfter.IsZero() {
824+
// timezone denoted by plus, rather than 'Z',
825+
// according to https://docs.github.com/en/search-github/searching-on-github/searching-issues-and-pull-requests#search-by-when-an-issue-or-pull-request-was-created-or-last-updated
826+
timeStr := updatedAfter.Format("2006-01-02T15:04:05+07:00")
827+
searchQuery += fmt.Sprintf(" updated:>=%s", timeStr)
828+
}
829+
830+
result, resp, err := g.getClient().Search.Issues(g.ctx, searchQuery, opt)
824831
if err != nil {
825832
return nil, false, fmt.Errorf("error while listing repos: %v", err)
826833
}
827-
log.Trace("Request get issues %d/%d, but in fact get %d", perPage, page, len(issues))
834+
log.Trace("Request get issues %d/%d, but in fact get %d", perPage, page, len(result.Issues))
828835
g.setRate(&resp.Rate)
829-
for _, issue := range issues {
830-
if !issue.IsPullRequest() {
831-
continue
832-
}
833-
836+
for _, issue := range result.Issues {
834837
pr, resp, err := g.getClient().PullRequests.Get(g.ctx, g.repoOwner, g.repoName, issue.GetNumber())
835838
if err != nil {
836839
return nil, false, fmt.Errorf("error while getting repo pull request: %v", err)
@@ -846,7 +849,7 @@ func (g *GithubDownloaderV3) GetNewPullRequests(page, perPage int, updatedAfter
846849
_ = CheckAndEnsureSafePR(allPRs[len(allPRs)-1], g.baseURL, g)
847850
}
848851

849-
return allPRs, len(issues) < perPage, nil
852+
return allPRs, len(result.Issues) < perPage, nil
850853
}
851854

852855
// GetNewReviews returns new pull requests review after the given time

0 commit comments

Comments
 (0)