Maintenant, vous voulez peut-être savoir combien de pages il y a des. Pour cela, il faut ajouter curl paramètre --head. Ce ne sera pas de retour la charge utile, mais l'en-tête.
Merci beaucoup @secustor. Est-il une raison pourquoi la boucle ne retourne pas tous les projets/les pages qui sont là dans Gitlab? Je suis un admin, mais à l'aide de mon jeton ne semble pas être la récupération de tous les projets. Cependant, si je regarde sur l'INTERFACE, je peux voir tous les projets. Si le jeton est le secteur privé d'un admin, vous devriez obtenir tous les projets ou les groupes. Êtes-vous en parcourant les pages, comme indiqué dans ma réponse? Oui, je boucle sur toutes les pages, mais pour une raison quelconque, il n'apparaît pas. Essayez de supprimer le privé jeton de demande et voir si vous obtenez les mêmes résultats. Si c'est le cas, vous êtes seulement le public des projets parce que l'authentification a échoué.
Si seulement votre jeton est disponible, vous pouvez uniquement utiliser l'API:
PROJETS
Utiliser à la suite de la demande de projets:
curl "https://<host/api/v4/projects?private_token=<your private token>"
Revenir les 20 premières inscriptions. Pour obtenir de plus vous pouvez ajouter l'paramater
per_page
curl "https://<host/api/v4/projects?private_token=<your private token>&per_page=100"
avec ce paramètre, vous pouvez demander entre
20
et100
entrées. https://docs.gitlab.com/ce/api/README.html#paginationSi vous voulez maintenant tous les projets que vous avez en boucle à travers les pages, pour obtenir une autre page, ajouter le paramètre
page
.curl "https://<host/api/v4/projects?private_token=<your private token>&per_page=100&page=<page_number>"
Maintenant, vous voulez peut-être savoir combien de pages il y a des. Pour cela, il faut ajouter
curl
paramètre--head
. Ce ne sera pas de retour la charge utile, mais l'en-tête.Le résultat ressemblera à ceci:
Les deux parties intéressantes sont
X-Total
etX-Total-Pages
, le premier est le nombre d'entrées disponibles et le second le nombre total de pages.Je suggère l'utilisation de python ou un autre type de script pour gérer les demandes et concat les résultats à la fin.
Si vous souhaitez affiner la recherche, de consulter cette page du wiki:
https://docs.gitlab.com/ce/api/projects.html#projects-api
GROUPES
Pour les groupes, il suffit de remplacer
projects
avecgroups
dans les boucles.https://docs.gitlab.com/ce/api/groups.html#list-groups
Mise à JOUR:
Voici la liste officielle de Gitlab clients API/wrappers: https://about.gitlab.com/applications/#api-clients
Je recommande fortement d'utiliser l'un de ces.
Est-il une raison pourquoi la boucle ne retourne pas tous les projets/les pages qui sont là dans Gitlab? Je suis un admin, mais à l'aide de mon jeton ne semble pas être la récupération de tous les projets. Cependant, si je regarde sur l'INTERFACE, je peux voir tous les projets.
Si le jeton est le secteur privé d'un admin, vous devriez obtenir tous les projets ou les groupes. Êtes-vous en parcourant les pages, comme indiqué dans ma réponse?
Oui, je boucle sur toutes les pages, mais pour une raison quelconque, il n'apparaît pas.
Essayez de supprimer le privé jeton de demande et voir si vous obtenez les mêmes résultats. Si c'est le cas, vous êtes seulement le public des projets parce que l'authentification a échoué.
OriginalL'auteur secustor