Recuerda que en las ciencias un problema suele tener diferentes soluciones, así que enseñamos lo mejor y más eficiente.
Solución:
Si solo está disponible su token privado, solo puede usar la API:
PROYECTOS
Use el siguiente comando para solicitar proyectos:
curl "https://
Esto le devolverá las primeras 20 entradas. Para obtener más, puede agregar el parámetro per_page
curl "https://
con este parámetro puedes solicitar entre 20
y 100
entradas. https://docs.gitlab.com/ce/api/README.html#pagination
Si ahora quiere todos los proyectos, debe recorrer las páginas. Para llegar a otra página agregue el parámetro page
.
curl "https://
Ahora es posible que desee saber cuántas páginas hay. Para eso agrega el curl
parámetro --head
. Esto no devolverá la carga útil, sino el encabezado.
El resultado debería verse así:
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 13 Jul 2017 17:43:24 GMT
Content-Type: application/json
Content-Length: 29428
Cache-Control: no-cache
Link:
Vary: Origin
X-Frame-Options: SAMEORIGIN
X-Next-Page: 2
X-Page: 1
X-Per-Page: 20
X-Prev-Page:
X-Request-Id: 80ecc167-4f3f-4c99-b09d-261e240e7fe9
X-Runtime: 4.117558
X-Total: 312257
X-Total-Pages: 15613
Strict-Transport-Security: max-age=31536000
Las dos partes interesantes aquí son X-Total
y X-Total-Pages
. El primero es el recuento de entradas disponibles y el segundo el recuento de páginas totales.
Sugiero usar python o algún otro tipo de secuencia de comandos para manejar las solicitudes y concatenar los resultados al final.
Si desea refinar la búsqueda, consulte esta página wiki: https://docs.gitlab.com/ce/api/projects.html#projects-api
GRUPOS
Para grupos simplemente reemplace projects
con groups
en los rizos. https://docs.gitlab.com/ce/api/groups.html#list-groups
ACTUALIZAR:
Aquí está la lista oficial de clientes/contenedores API de Gitlab: https://about.gitlab.com/applications/#api-clients
Recomiendo usar uno de estos.