web-dev-qa-db-fra.com

Obtenir le jeton gitlab-ci avec l'API gitlab

L'API ne sait pas exactement comment obtenir le jeton qui peut être utilisé pour cloner des référentiels http.

De la documentation ici:

http://doc.gitlab.com/ee/ci/api/README.html

Il devrait être possible d'obtenir cette URL:

http://gitlab.com/ci/api/v1/projects?private_token=QVy1PB7sTxfy4pqfZM1U&url=http://demo.gitlab.com/

Je ne sais pas d'où provient le paramètre url, mais même avec mon jeton privé uniquement, il reçoit une page d'erreur 404.

J'ai essayé avec le sous-domaine ci mais il m'a simplement redirigé vers gitlab.com.

Cela dit, je vais expliquer un peu plus la raison pour laquelle j'ai besoin de ça. J'ai un serveur qui pourrait avoir plusieurs projets. Chaque projet contiendra une liste de référentiels privé/public, chaque projet doit être cloné/extrait et ainsi de suite régulièrement. Contrairement à github, gitlab ne fournit pas de jeton oauth2 couvrant l’ensemble du site, mais un jeton de CI pour chaque projet. Je pouvais m'assurer que l'utilisateur entre le jeton pour chaque projet, mais c'est beaucoup plus compliqué que d'entrer le jeton privé.

D'autre part, je pourrais générer des clés SSH pour chaque utilisateur et ajouter la clé publique à leur compte. Ainsi, il serait possible d'extraire/cloner avec ssh au lieu de http. Mais cela représente un peu plus de travail que de récupérer un jeton et de cloner avec une URL d'authentification de base

git clone https://gitlab-ci-token:[email protected]/project.git
7
Loïc Faure-Lacroix

L'URL pour récupérer votre jeton se trouve sous le chemin suivant/profil/compte .

Ou vous pouvez simplement naviguer vers Paramètres du profil -> Compte

Assurez-vous également que vous utilisez la bonne version de l'API. Au moment où cette réponse est actuellement sur v3/api/v3/projects? Private_token = {my_private_token}

2
lac_dev

Je dirais de vérifier le type de jeton que vous voulez.

  1. Jeton privé? Accédez à Paramètres du profil -> compte.

  2. Un jeton peut être généré si vous souhaitez déclencher un nouveau pipeline CI/CD. Pour ce faire, accédez à Paramètres du projet -> Canalisations CI/CD -> Créer un jeton.

En outre, il est important que vous ayez les bons privilèges sur Git.

0
Padma Channal