Obteniendo 404 mientras golpeas el repository interno de gitlab a través de la API de reposo para get todas las twigs de un proyecto

Tenemos un repository interno de gitlab en nuestra organización y soy desarrollador que no tiene acceso de administrador.

Sin embargo, soy el creador de este repository ( https://gitlab.gspt.net/payments/dss ) en gitlab y lo que estoy tratando de hacer es get todas las twigs dentro de este repository a través de la API de descanso.

Después de hacer algunas investigaciones en línea y revisar esta documentation ( https://docs.gitlab.com/ce/api/branches.html#protect-repository-branch ) descubrí que puedo get todas las twigs de un repos usando este command .

 GET /projects/:id/repository/branches 

Ejemplo

 curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/projects/5/repository/branches 

Aquí el PRIVATE-TOKEN en el encabezado debe ser reemplazado con mi token privado, que ya he hecho, y ahora estoy tratando de acceder a mi repository interno de gitlab usando el siguiente command en Postman y obtengo 404 .

 https://gitlab.gspt.net/api/v4/projects/payments/dss/repository/branches 

Dos problemas aquí:

  1. No estoy seguro si mi URL de descanso es correcta o no. No pude encontrar la id de mi proyecto. gitlab toda la UI de gitlab y no pude encontrar un rastro de id ninguna parte. De ahí el uso de NAMESPACE/PROJECT_NAME en la url http que encuentro en algún lugar de la documentation. No estoy seguro si eso también es correcto.
  2. No estoy seguro de si mis administradores internos de gilab han deshabilitado por completo la function http api api. Nunca instalé y administré un repository git alguna vez, así que tampoco tengo idea aquí.

Alguna orientación sobre esto?

Para get la identificación del proyecto puede usar la API de proyectos buscando su nombre de reserva con el parámetro de search

El siguiente script bash obtiene la identificación del proyecto para el nombre del proyecto coincidente y realiza la llamada para get las twigs de su proyecto. Utiliza el analizador JQ JSON para analizar el resultado JSON:

 #!/bin/bash gitlab_host="https://gitlab.gspt.net" private_token="9koXpg98eAheJpvBs5tK" project_name="dss" project_id=$(curl -s "$gitlab_host/api/v3/projects?search=$project_name&private_token=$private_token" | jq '.[0].id') if [ "$project_id" == "null" ]; then echo "error could not find project id for project name $project_name" exit 1 fi curl -s "$gitlab_host/api/v3/projects/$project_id/repository/branches?private_token=$private_token" | jq '.[]'