нужно получить список проектов. Упёрся в проблему пагинации - т.е. по дефолту гитлаб отдаёт 20 проектов на странице. Соответственно, мой код
func getProjects(w http.ResponseWriter, r *http.Request) ([]*gitlab.Project, *gitlab.Response) {
git := gitlab.NewClient(nil, apiToken)
git.SetBaseURL(apiURL)
opt := &gitlab.ListProjectsOptions{Sort: gitlab.String("desc")}
projects, response, err := git.Projects.ListProjects(opt)
if err != nil {
logger.Error(err.Error())
}
return projects, response
}
возвращеает только 20 проектов. По идее, в opt можно указать нужные параметры запроса списка проектов, но ничего про пагинацию я не нашёл в доке либы. Есть, правда, структура Response, но она содержит данные о кол-ве страниц и общее кол-во проектов, но мне это никак не помогает - в projects ведь всёравно только 20 проектов.
там же есть пример https://github.com/xanzy/go-gitlab/blob/master/examples/pagination.go
Обсуждают сегодня