J'ai créé le projet et le référentiel sur mon compte gitlab.com, généré une clé privée, maintenant j'essaye de faire un appel api pour obtenir la liste des commits.
Maintenant, je veux obtenir la liste des projets via api, à partir de la documentation https://docs.gitlab.com/ce/api/projects.html#list-projects
GET /projects
Donc je fais
curl --header "PRIVATE-TOKEN: XXXXXXX -c" "https://gitlab.com/projects"
Et obtenir 404 . J'ai essayé plusieurs combinaisons et je ne trouve pas l’URL de base correcte.
Idem pour les commits de référentiel, les documentations https://docs.gitlab.com/ce/api/commits.html dit
https://gitlab.example.com/api/v3/projects/5/repository/commits
bien, j'essaie (avec myusername/nomprojet comme identifiant de projet) https://gitlab.com/api/v3/projects/myusername/projectname/repository/commits
Et j'ai aussi 404
L’URL de base correcte pour GitLab hébergé est https://gitlab.com/api/v4/
. Votre demande deGET /projects
serait
curl --header "PRIVATE-TOKEN: XXXXXX" "https://gitlab.com/api/v4/projects"
De plus, l'ID de projet n'est pas le même que le nom du projet. Vous pouvez récupérer l'ID de projet de la réponse de votre demande à GET /projects
https://docs.gitlab.com/ee/api/#basic-usage
essayez cette commande: curl " https://gitlab.example.com/api/v4/projects " comme indiqué dans le document
Si vous utilisez la version 3 de Gitlab , Utilisez Curl --header "Authorization: Bearer OAUTH-TOKEN" https://gitlab.example.com/api/v3/projects
Il existe également un module "python-gitlab" qui vous aidera à obtenir facilement l'identifiant de Project-name https://python-gitlab.readthedocs.io/fr/stable/
Pour moi, la requête suivante a fonctionné:
curl --header "PRIVATE-TOKEN: YOUR_TOKEN" "https://gitlab.com/api/v4/users/YOUR_USER_ID/projects"
Je ne sais pas pourquoi la demande: curl --header "PRIVATE-TOKEN: PRIVATE_TOKEN" "https://gitlab.com/api/v4/projects/"
a renvoyé une liste avec d'autres projets publics.
Une autre demande utile pour les informations utilisateur: curl --header "PRIVATE-TOKEN: PRIVATE_TOKEN" "https://gitlab.com/api/v4/user/"