En utilisant GitLab, les projets manquent dans la liste des API

18

J'utilise l'API GitLab pour récupérer une liste des projets auxquels j'ai accès (URL /api/v3/projects/all?private_token=xxx), mais il y a 6-7 projets qui ne sont pas inclus dans la liste pour une raison quelconque.

EDIT: Mon utilisateur est un administrateur et je veux lister tous les projets comme l' /projects/allURL l'indique.

J'ai très bien accès aux projets en utilisant git lui-même et l'interface web de GitLab. Des suggestions pour lesquelles les projets ne seraient pas affichés dans la liste de l'API?

Tous les projets manquants sont plus récents que les autres. J'ai essayé d'actualiser mon jeton d'API; pas de changement.

Versions:

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

Réponses:

27

Je viens de tester cela et il semble que la réponse de l'API GitLab utilise la pagination. Selon la documentation ( http://api.gitlab.org ), le nombre par défaut de résultats par page est défini sur 20 et la page de départ est 1.

Pour ajuster les résultats maximum par page, vous devez utiliser la per_pagevariable dans la ligne de requête HTTP. Vous pouvez également modifier le numéro de page en utilisant page, si vous avez plus de référentiels que la valeur maximale de per_page. Vous pouvez spécifier une per_pagevaleur maximale de 100.

Par exemple, votre demande peut ressembler à:

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

Les variables pageet per_pagene sont pas obligatoires car elles ont des valeurs par défaut, vous n'avez donc pas besoin de les inclure si vous ne le souhaitez pas.

J'espère que cela résout votre problème.

jaseeey
la source
C'est vrai! Je me sens paresseux et stupide maintenant;) Merci beaucoup!
Nils
Aucun problème, une leçon apprise pour moi aussi :)
jaseeey
1
Existe-t-il un moyen de retourner plus de 100? Mon résultat de l'activité de l'utilisateur est bien plus de 100 mais l'api ne renvoie que le maximum de 100.
emmdee
D'après la documentation de l'API, il semble que la per_pagevaleur maximale autorisée soit 100. Référez-vous à docs.gitlab.com/ce/api/README.html#pagination
jaseeey
-1

Si vous n'êtes pas sûr du nombre de pages, utilisez-le comme ci-dessous: https://git.example.com/api/v3/projects/all?per_page=-1&private_token=some_token_key

Vrunda Kansara
la source
ne répertorie pas tous les projets ... ne donne que 20 enregistrements par défaut
Saurabh
Même chose pour moi.
N'affiche que les
ne fait rien, ne renvoie que le défaut 20
Ivan