101 votes

Où trouver l'ID du projet pour l'API de GitLab?

J'utilise GitLab sur leurs serveurs. J'aimerais télécharger mes derniers artefacts construits (construits via GitLab CI) via l'API de cette manière :

curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" "https://gitlab.com/api/v3/projects/1/builds/8/artifacts"

Où puis-je trouver cet ID de projet ? Ou cette façon d'utiliser l'API n'est-elle pas destinée aux projets GitLab hébergés ?

0 votes

81voto

codependent Points 6465

Je viens de découvrir un moyen encore plus facile d'obtenir l'identifiant du projet : il suffit de consulter le contenu HTML de la page GitLab hébergeant votre projet. Il y a un champ input appelé project_id, par exemple :

0 votes

Grande réponse. Malgré le fait qu'elle ne soit pas garantie de fonctionner car elle n'utilise aucun API, il est tout à fait possible que cette approche continue de fonctionner indéfiniment

48voto

Bernát Points 483

Sur la page Modifier le projet, il y a un champ ID du projet dans le coin supérieur droit.

(Vous pouvez également voir l'ID sur la page des pipelines CI/CD, dans le code d'exemple de la section Triggers.)

Dans les anciennes versions, vous pouvez le voir sur la page Triggers, dans les URL du code d'exemple.

0 votes

Je ne peux pas voir ça? Quelle version de gitlab?

1 votes

Dans la version qui est en cours sur Gitlab.com... je ne sais pas exactement, mais il n'y a pas longtemps, peut-être depuis janvier 2017. Dans les anciennes versions, vous pouvez le trouver dans le code d'exemple sur la page des Déclencheurs.

0 votes

Aller à Paramètres > Général

39voto

Fairy Points 2301

Vous pouvez interroger vos projets possédés :

curl -XGET --header "PRIVATE-TOKEN: XXXX" "https://gitlab.com/api/v4/projects/owned?=true"

Vous recevrez du JSON avec chaque projet possédé :

[
  {
    "id":48,
    "description":"",
    "default_branch":"master",
    "tag_list":[
...

Vous pouvez également obtenir l'ID du projet à partir de la configuration des déclencheurs dans votre projet qui contient déjà un code d'exemple avec votre ID.

Depuis la page des déclencheurs :

curl -X POST \
     -F token=TOKEN \
     -F ref=REF_NAME \
     https:///api/v3/projects//trigger/builds

0 votes

Super merci - cela aide beaucoup. Petite remarque: Je pense que -header devrait être --header.

0 votes

Aucun problème. N'oubliez pas d'accepter la réponse si elle a résolu votre problème.

0 votes

Cette réponse n'est plus valide. Voir la réponse de @Bernát. Vous pouvez voir l'identifiant du projet sur la page des paramètres du projet.

25voto

Martin Nowak Points 580

Comme mentionné ici, toutes les API à portée de projet attendent soit un ID, soit le chemin du projet (encodé en URL). Donc utilisez simplement https://gitlab.com/api/v4/projects/gitlab-org%2Fgitlab-ce directement lorsque vous souhaitez interagir avec un projet.

6 votes

+1 point important est que NAMESPACE/PROJECT_NAME mentionné après /api/v4/projects/ doit être encodé en URL. Cela signifie que / doit être remplacé par %2F. Par exemple : gitlab.com/api/v4/projects/gitlab-org%2Fgitlab-ce

0 votes

Cet exemple est 404 pour moi.

24voto

Martin Naughton Points 409

Entrez dans le projet.

Dans le menu de gauche, cliquez sur Paramètres -> Général -> Développer les paramètres généraux

Il y a une étiquette ID de projet à côté du nom du projet.

Ceci est sur la version GitLab 10.2

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X