Skip to main content
GitLab unifie les tickets, la revue de code, l’intégration continue et le déploiement continu dans une seule interface. Connecter AppSignal à GitLab couvre le même terrain que l’intégration GitHub : GitLab est une intégration personnelle : chaque utilisateur qui souhaite l’utiliser doit effectuer la configuration pour lui-même sur chaque application AppSignal.
GitLab propose plusieurs façons de se connecter à des outils tiers. AppSignal se connecte à l’aide d’un jeton d’accès personnel GitLab et de l’URL de votre projet, ce qui est pris en charge sur GitLab.com, GitLab Self-Managed et GitLab Dedicated. GitLab propose également des applications OAuth, mais AppSignal ne prend pas encore en charge la connexion à GitLab via OAuth.
Site web : https://gitlab.com

Lier AppSignal à votre dépôt GitLab

Étape 1. Créer un jeton d’accès personnel GitLab

  1. Connectez-vous à GitLab et accédez à vos Settings utilisateur.
  2. Dans la barre latérale gauche, sélectionnez Access tokens, puis ouvrez Personal access tokens (https://gitlab.com/-/user_settings/personal_access_tokens sur GitLab.com).
  3. Sélectionnez Add new token. GitLab vous permet de créer un jeton d’accès personnel fine-grained ou legacy. Choisissez legacy, car ses scopes correspondent directement à ce dont AppSignal a besoin.
  4. Renseignez :
    • Token name : AppSignal
    • Expiration date : choisissez une date qui correspond à la politique de votre organisation.
    • Scopes : sélectionnez read_api, read_repository et api. AppSignal a besoin des trois.
  5. Sélectionnez Create personal access token et copiez immédiatement le jeton. GitLab ne l’affiche qu’une seule fois.
Créer un ticket est une action d’écriture, les scopes en lecture seule ne suffisent donc pas à eux seuls. Un jeton avec uniquement read_api et read_repository se connecte et lie le code source, mais GitLab rejette la requête lorsque vous envoyez un incident. Ajoutez api pour créer des tickets GitLab depuis AppSignal.GitLab ne vous permet pas de modifier les scopes d’un jeton après sa création. Pour les ajuster, créez un nouveau jeton et mettez à jour l’intégration dans AppSignal.
Les jetons fine-grained peuvent également fonctionner, mais leurs permissions sur les ressources sont beaucoup plus granulaires, et il n’est pas évident de savoir quelle combinaison choisir. Nous prévoyons de faire évoluer cette intégration vers les applications OAuth de GitLab, la façon la plus récente de connecter des outils tiers à GitLab.

Étape 2. Ajouter l’intégration dans AppSignal

  1. Dans AppSignal, ouvrez l’application que vous souhaitez connecter.
  2. Allez dans App settings → Integrations → GitLab.
  3. Renseignez le formulaire :
    • Token : collez le jeton d’accès personnel que vous avez créé à l’étape 1.
    • GitLab URL : l’URL complète vers le projet GitLab, par exemple https://gitlab.com/your-namespace/your-project. Pour GitLab Self-Managed, utilisez le hostname de votre instance, par exemple https://gitlab.example.com/your-group/your-project.
  4. Sélectionnez create integration.
Vous pouvez revenir sur cette page à tout moment pour update integration ou remove integration.

Étape 3. Répétez pour chaque utilisateur

Comme il s’agit d’une intégration personnelle, chaque membre de l’équipe qui souhaite que les liens de source, les liens de backtrace ou la création de tickets fonctionnent dans son propre compte AppSignal doit répéter les étapes 1 et 2 avec son propre jeton GitLab.

Lier les backtraces aux révisions et aux lignes

Le code évolue en permanence, donc un backtrace est plus utile lorsqu’il pointe vers la révision qui était déployée au moment où l’erreur s’est produite. Connecter GitLab renseigne le champ Repo URL de votre application, vous n’avez donc pas à le définir manuellement. Vous pouvez le vérifier sous App settings → General, où ce champ contient l’URL de votre projet GitLab. AppSignal détecte le fournisseur à partir de cette URL et construit les liens de backtrace et de comparaison correspondants. Une fois que les marqueurs de déploiement signalent la revision déployée, AppSignal lie chaque ligne de backtrace à la révision, au chemin et à la ligne correspondants dans votre dépôt GitLab, afin que vous puissiez passer d’une erreur au code qui a été déployé. Pour la configuration complète, consultez la documentation sur les liens de backtrace.

Créer des tickets GitLab pour les incidents

AppSignal ne crée pas de tickets GitLab automatiquement, afin d’éviter une surcharge de tickets. Pour en créer un pour un incident d’erreur :
  1. Ouvrez l’écran de détails de l’incident d’erreur.
  2. Dans le panneau Actions, sélectionnez Send to GitLab.
AppSignal crée le ticket dans le projet GitLab lié, et vous pouvez l’ouvrir depuis la page de l’incident par la suite. La création de tickets nécessite un jeton avec le scope api en plus des scopes de lecture, décrits à l’étape 1.

Marqueurs de déploiement depuis GitLab CI/CD

Pour signaler les déploiements à AppSignal depuis un pipeline GitLab CI/CD, consultez la documentation sur les marqueurs de déploiement pour l’approche recommandée via l’option de configuration revision, ou l’exemple de l’API Markers si votre stack n’inclut pas d’intégration AppSignal.

Dépannage

L’envoi d’un incident vers GitLab échoue. Un jeton avec des scopes en lecture seule se connecte avec succès mais ne peut pas créer de tickets. Vérifiez que le jeton dispose de api en plus de read_api et read_repository. Comme les scopes ne peuvent pas être modifiés après la création d’un jeton, créez un nouveau jeton legacy avec les trois et mettez à jour l’intégration dans AppSignal. AppSignal signale l’intégration GitLab comme invalide. Vérifiez quels scopes le jeton possède réellement. read_registry et read_repository se trouvent côte à côte dans la liste des scopes de GitLab, et un jeton qui accorde read_registry au lieu de read_api ne peut pas lire votre projet. Les liens de source dans AppSignal n’ouvrent pas le bon fichier. Rouvrez App settings → Integrations → GitLab dans AppSignal et confirmez que l’URL GitLab pointe vers la racine du projet (par exemple https://gitlab.com/namespace/project) et non vers un sous-chemin, une branche ou une URL .git.

Liste des intégrations