Usando o GitLab, faltam projetos na lista de APIs

18

Eu uso a API do GitLab para buscar uma lista dos projetos aos quais tenho acesso (URL /api/v3/projects/all?private_token=xxx), mas existem 6-7 projetos que não estão incluídos na lista por algum motivo.

EDIT: Meu usuário é um administrador e quero listar todos os projetos como o /projects/allURL indica.

Eu tenho acesso aos projetos muito bem usando o próprio git e a interface da web do GitLab. Alguma sugestão de por que os projetos não seriam mostrados na lista da API?

Todos os projetos ausentes são mais recentes que os outros. Eu tentei atualizar meu token da API; nenhuma mudança.

Versões:

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

Respostas:

27

Acabei de testar isso e parece que a resposta da API do GitLab está usando paginação. De acordo com a documentação ( http://api.gitlab.org ), o número padrão de resultados por página é definido como 20 e a página inicial é 1.

Para ajustar o máximo de resultados por página, você precisa usar a per_pagevariável na linha de solicitação HTTP. Você também pode alterar o número da página page, se tiver mais repositórios que o valor máximo de per_page. Você pode especificar um per_pagevalor máximo de 100.

Por exemplo, sua solicitação pode se parecer com:

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

As variáveis pagee per_pagenão são necessárias, pois possuem valores padrão; portanto, você não precisa incluir se não desejar.

Espero que isso resolva seu problema.

jaseeey
fonte
De fato! Eu me sinto preguiçoso e estúpido agora;) Muito obrigado!
Nils
Sem problemas, uma lição aprendida para mim também :)
jaseeey
1
Existe alguma maneira de retornar mais de 100? Meu resultado da atividade do usuário é muito mais do que 100, mas a API retorna somente o máximo de 100.
emmdee
Observando a documentação da API, parece que o per_pagevalor máximo permitido é 100. Consulte: docs.gitlab.com/ce/api/README.html#pagination
jaseeey
-1

Se você não tiver certeza sobre o número de páginas, use-o como abaixo: https://git.example.com/api/v3/projects/all?per_page=-1&private_token=some_token_key

Vrunda Kansara
fonte
não lista todos os projetos ... apenas fornece 20 registros padrão
Saurabh 24/05
O mesmo para mim. Mostra apenas 20 itens padrão na primeira página
Marslo
não faz nada, só retorna o padrão 20
Ivan