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

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.


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


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.