При использовании GitLab проекты отсутствуют в списке API


18

Я использую GitLab API для получения списка проектов, к которым у меня есть доступ (URL /api/v3/projects/all?private_token=xxx), но есть 6-7 проектов, которые по какой-то причине не включены в список.

РЕДАКТИРОВАТЬ: Мой пользователь является администратором, и я хочу перечислить все проекты, как /projects/allURL-адрес.

У меня есть доступ к проектам просто отлично, используя сам git и веб-интерфейс GitLab. Есть предложения, почему проекты не будут отображаться в списке из API?

Все отсутствующие проекты являются более новыми, чем другие. Я попытался обновить мой токен API; без изменений.

Версии:

GitLab        6.4.3
GitLab Shell  1.8.0
GitLab API    v3
Ruby          2.0.0p353
Rails         4.0.2

Ответы:


27

Я только что проверил это, и похоже, что ответ GitLab API использует нумерацию страниц. Согласно документации ( http://api.gitlab.org ), количество результатов на странице по умолчанию установлено равным 20, а начальная страница равна 1.

Чтобы настроить максимальное количество результатов на страницу, вам нужно использовать per_pageпеременную в строке HTTP-запроса. Вы также можете изменить номер страницы page, если у вас больше репозиториев, чем максимальное значение per_page. Вы можете указать максимальное per_pageзначение 100.

Например, ваш запрос может выглядеть так:

https://git.example.com/api/v3/projects/all?page=1&per_page=100&private_token=abc123

pageИ per_pageпеременные не требуется , так как они имеют значения по умолчанию, так что вам не нужно включать либо , если вы не хотите.

Надеюсь, это решит вашу проблему.


Это действительно так! Теперь я чувствую себя ленивым и глупым;) Большое спасибо!
Нильс

Никаких проблем, урок для меня тоже
усвоен

1
Есть ли способ вернуть более 100? Мой результат пользовательской активности намного больше 100, но API возвращает максимум 100.
emmdee

Из документации API видно, что максимально допустимое per_pageзначение 100. См. Docs.gitlab.com/ce/api/README.html#pagination
jaseeey


-1

Если вы не уверены в количестве страниц, используйте его, как показано ниже: https://git.example.com/api/v3/projects/all?per_page=-1&private_token=some_token_key


не перечисляет все проекты ... только дать по умолчанию 20 записей
Saurabh

У меня тоже самое. Показывает только 20 элементов по умолчанию на первой странице
Marslo

ничего не делает, только возвращает значение по умолчанию 20
Ivan
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.