Skip to main content
GitLab vereint Issues, Code-Reviews, CI und CD in einer einzigen UI. Die Verbindung von AppSignal mit GitLab deckt dieselben Bereiche ab wie die GitHub-Integration: GitLab ist eine persönliche Integration: Jeder Benutzer, der sie nutzen möchte, muss die Einrichtung für sich selbst in jeder AppSignal-App durchführen.
GitLab bietet mehrere Möglichkeiten, sich mit Tools von Drittanbietern zu verbinden. AppSignal stellt die Verbindung über ein persönliches GitLab-Zugriffstoken und Ihre Projekt-URL her, was auf GitLab.com, GitLab Self-Managed und GitLab Dedicated unterstützt wird. GitLab bietet auch OAuth-Anwendungen an, aber AppSignal unterstützt die Verbindung zu GitLab über OAuth noch nicht.
Website: https://gitlab.com

AppSignal mit Ihrem GitLab-Repository verknüpfen

Schritt 1. Ein persönliches GitLab-Zugriffstoken erstellen

  1. Melden Sie sich bei GitLab an und gehen Sie zu Ihren Benutzer-Einstellungen.
  2. Wählen Sie in der linken Seitenleiste Access tokens aus und öffnen Sie dann Personal access tokens (https://gitlab.com/-/user_settings/personal_access_tokens auf GitLab.com).
  3. Wählen Sie Add new token. GitLab lässt Sie entweder ein fine-grained oder ein legacy personal access token erstellen. Wählen Sie legacy, da dessen Scopes direkt den Anforderungen von AppSignal entsprechen.
  4. Füllen Sie aus:
    • Token name: AppSignal
    • Expiration date: Wählen Sie ein Datum, das den Richtlinien Ihrer Organisation entspricht.
    • Scopes: Wählen Sie read_api, read_repository und api aus. AppSignal benötigt alle drei.
  5. Wählen Sie Create personal access token und kopieren Sie das Token sofort. GitLab zeigt es nur einmal an.
Das Erstellen eines Issues ist eine Schreibaktion, daher reichen die schreibgeschützten Scopes allein nicht aus. Ein Token mit nur read_api und read_repository verbindet sich und verknüpft die Quelle, aber GitLab lehnt die Anfrage ab, wenn Sie einen Vorfall senden. Fügen Sie api hinzu, um GitLab-Issues von AppSignal aus zu erstellen.GitLab lässt Sie die Scopes eines Tokens nach dessen Erstellung nicht mehr ändern. Um sie anzupassen, erstellen Sie ein neues Token und aktualisieren Sie die Integration in AppSignal.
Fine-grained Tokens funktionieren möglicherweise ebenfalls, aber ihre Ressourcenberechtigungen sind weitaus granularer, und es ist nicht offensichtlich, welche Kombination Sie wählen sollten. Wir planen, diese Integration auf GitLab-OAuth-Anwendungen umzustellen, die neuere Art, Tools von Drittanbietern mit GitLab zu verbinden.

Schritt 2. Die Integration in AppSignal hinzufügen

  1. Öffnen Sie in AppSignal die App, die Sie verbinden möchten.
  2. Gehen Sie zu App-Einstellungen → Integrationen → GitLab.
  3. Füllen Sie das Formular aus:
    • Token: Fügen Sie das persönliche Zugriffstoken ein, das Sie in Schritt 1 erstellt haben.
    • GitLab-URL: Die vollständige URL zum GitLab-Projekt, zum Beispiel https://gitlab.com/your-namespace/your-project. Für GitLab Self-Managed verwenden Sie den Hostnamen Ihrer Instanz, z. B. https://gitlab.example.com/your-group/your-project.
  4. Wählen Sie Integration erstellen.
Sie können jederzeit zu dieser Seite zurückkehren, um die Integration zu aktualisieren oder die Integration zu entfernen.

Schritt 3. Für jeden Benutzer wiederholen

Da dies eine persönliche Integration ist, muss jedes Teammitglied, bei dem Quell-Links, Backtrace-Links oder die Erstellung von Issues im eigenen AppSignal-Account funktionieren sollen, die Schritte 1 und 2 mit dem eigenen GitLab-Token wiederholen.

Backtraces mit Revisionen und Zeilen verknüpfen

Codebasen ändern sich ständig, daher ist ein Backtrace am nützlichsten, wenn er auf die Revision verweist, die zum Zeitpunkt des Fehlers deployt war. Das Verbinden von GitLab füllt die Repo URL Ihrer App automatisch aus, sodass Sie sie nicht von Hand eingeben müssen. Sie können sie unter App-Einstellungen → Allgemein bestätigen, wo das Feld die URL Ihres GitLab-Projekts enthält. AppSignal erkennt den Anbieter anhand dieser URL und erstellt die passenden Backtrace- und Vergleichslinks. Sobald Deploy-Marker die deployte revision melden, verknüpft AppSignal jede Backtrace-Zeile mit der passenden Revision, dem Pfad und der Zeile in Ihrem GitLab-Repository, sodass Sie von einem Fehler direkt zum ausgelieferten Code gelangen. Die vollständige Einrichtung finden Sie in der Dokumentation zu Backtrace-Links.

GitLab-Issues für Vorfälle erstellen

AppSignal erstellt keine GitLab-Issues automatisch, um eine Überflutung mit Stories zu vermeiden. So erstellen Sie eines für einen Fehler-Vorfall:
  1. Öffnen Sie den Detailbildschirm des Fehler-Vorfalls.
  2. Wählen Sie im Panel Actions die Option Send to GitLab.
AppSignal erstellt das Issue im verknüpften GitLab-Projekt, und Sie können es anschließend von der Vorfallsseite aus öffnen. Das Erstellen von Issues erfordert ein Token mit dem api-Scope zusätzlich zu den Lese-Scopes, die in Schritt 1 beschrieben sind.

Deploy-Marker aus GitLab CI/CD

Um Deployments aus einer GitLab CI/CD-Pipeline an AppSignal zu melden, lesen Sie die Deploy-Marker-Dokumentation für den empfohlenen Ansatz mit der revision-Konfigurationsoption oder das Markers-API-Beispiel, falls Ihr Stack keine AppSignal-Integration enthält.

Fehlerbehebung

Das Senden eines Vorfalls an GitLab schlägt fehl. Ein Token mit schreibgeschützten Scopes verbindet sich erfolgreich, kann aber keine Issues erstellen. Bestätigen Sie, dass das Token api sowie read_api und read_repository hat. Da Scopes nach der Erstellung eines Tokens nicht mehr bearbeitet werden können, erstellen Sie ein neues legacy Token mit allen drei und aktualisieren Sie die Integration in AppSignal. AppSignal meldet die GitLab-Integration als ungültig. Prüfen Sie, welche Scopes das Token tatsächlich hat. read_registry und read_repository stehen in GitLabs Scope-Liste direkt nebeneinander, und ein Token, das read_registry statt read_api gewährt, kann Ihr Projekt nicht lesen. Quell-Links in AppSignal öffnen nicht die richtige Datei. Öffnen Sie erneut App-Einstellungen → Integrationen → GitLab in AppSignal und bestätigen Sie, dass die GitLab-URL auf das Projektstammverzeichnis verweist (z. B. https://gitlab.com/namespace/project) und nicht auf einen Unterpfad, einen Branch oder eine .git-URL.

Liste der Integrationen