#8 execute all page pr

This commit is contained in:
Gorbunov Kirill Andreevich 2024-03-31 17:12:20 +03:00
parent 6a6829e82e
commit d12b2d999f
1 changed files with 38 additions and 29 deletions

View File

@ -404,13 +404,14 @@ func DeleteBranch(ctx context.Context, url, owner, repo, branch, token string) (
}
func GetPulls(ctx context.Context, url, owner, repo, token string) ([]*giteaPull, error) {
var pulls []*giteaPull
var err error
var pullsAll, pulls []*giteaPull
page := 1
for page != 0 {
req, err := http.NewRequestWithContext(
ctx,
http.MethodGet,
fmt.Sprintf("https://%s/api/v1//repos/%s/%s/pulls?state=open&page=99&token=%s", url, owner, repo, token),
fmt.Sprintf("https://%s/api/v1//repos/%s/%s/pulls?state=open&page=%s&token=%s", url, owner, repo, page, token),
nil)
if err != nil {
return nil, err
@ -432,11 +433,19 @@ func GetPulls(ctx context.Context, url, owner, repo, token string) ([]*giteaPull
logger.Error(ctx, fmt.Sprintf("failed to decode response %s err: %v", buf, err))
return nil, err
}
return pulls, nil
if len(pulls) == 0 {
page = 0
break
}
pullsAll = append(pullsAll, pulls...)
page++
case http.StatusNotFound:
logger.Info(ctx, "PL is not exist for %s", repo)
return nil, ErrPRNotExist
default:
return nil, fmt.Errorf("unknown error: %s", buf)
}
}
return pullsAll, nil
}