Potion Bottle Icon Manuel d'alchimie du code Potion Bottle Icon

Visibilité des projets d'un groupe GitLab

- 445 mots - Temps de lecture estimé: 2 minutes

Offre de formation

Crystal Ball IconUtiliser des chatbots LLM localement et protéger ses donnéesCrystal Ball Icon

Utilise l'IA sans envoyer les données de ta clientèle sur des serveurs américains. Fais tourner des modèles directement sur ton ordinateur, en toute confidentialité. Conforme à la loi 25.

Réconcilie IA et vie privée — Inscris-toi

Je vais te montrer comment changer la visibilité de tous les projets d’un groupe dans GitLab. Pour ce faire, nous allons utiliser le langage Python et l’API de GitLab.

🌘 Groupes et visibilité des projets dans GitLab


Sun Face IconComment rendre publics tous les projets privés d’un groupe GitLab avec Python ?Sun Face Icon


Quand on déplace des projets dans un nouveau groupe GitLab, ils conservent leur visibilité d’origine. Ce script Python utilise la bibliothèque python-gitlab avec un jeton d’accès personnel pour parcourir tous les projets privés d’un groupe et les rendre publics automatiquement, en gérant la pagination de l’API.

Dans GitLab, nous avons la possibilité de faire des groupes ayant une visibilité, ou permissions d’accès, différente selon nos besoins: public, interne ou privé.

Quand nous créons un nouveau groupe pour y déplacer des projets existants, ils conservent leur visibilité d’origine et d’adoptent pas celle du groupe.

Souvent, on aimerait faire suivre ces permissions, surtout si on veut rendre tous les projets d’un groupe public eux aussi publics.

🌘 Utilisation de l’API de GitLab

On peut le faire un par un, mais un des avantages de GitLab est qu’ils offrent une API puissante et complète. Depuis Python, on peut y accéder avec le package python-gitlab.

Pour ce faire, tu vas avoir besoin de ces trois informations:

Capture d'écran de l'interface utilisateur GitLab montrant les paramètres du projet
Nom de domaine et numéro de groupe

🌘 Un exemple de code pratique

Voici un exemple de code qui permet de faire ce traitement pour un groupe. Tu n’as qu’à configurer les trois variables au début du script.

Le programme crée d’abord une instance objet de la classe GitLab, qui permet d’interagir ensuite avec le service. Ensuite, Il y a une boucle sur tous les sites qui sont identifiés comme privé dans le groupe, que l’on souhaite rendre publics.

Comme il y a une pagination de 20 sites à la fois, on fait une autre boucle à l’extérieur pour détecter s’il reste encore des sites privés.

En mettant la propriété visibility à public, on rend le code disponible à tous.

Il faut aussi bien sur que le groupe soit public pour que les projets puissent effectivement être accessibles aussi !

🌘 Articles connexes

Illustration représentant la visibilité des projets dans un groupe GitLab

Offre de service

Shooting Stars IconConfiguration Express — 1 heure — 245 $Shooting Stars Icon

Un problème de configuration qui te semble insurmontable ? Environ une heure, en moyenne, je configure tes courriels, DNS, accès et conformité loi 25. Les suivis sont inclus pour valider ou corriger des configurations additionnelles au besoin. Tu repars avec une solution fonctionnelle, pas un devis.

Règle ton problème maintenant — 245 $
Abonne-toi au fil RSS pour ne rien manquer.

Étiquettes