Überblick über die Workflow-Schritte
In diesem n8n-Workflow werden verschiedene Nodes verwendet, um eine GitLab-Masteranfrage zu verarbeiten. Der Workflow erfasst Änderungen, wertet sie aus und sendet die Ergebnisse zurück zu GitLab.
1. Sticky Note
- Name: Sticky Note
- Typ: n8n-nodes-base.stickyNote
- Funktion: Diese Node dient der Dokumentation und enthält einen Hinweis zur Anpassung des Workflows.
- Einstellungen: Der Content ist auf „## Edit your own prompt ⬇️“ gesetzt, um dem Benutzer zu zeigen, dass er seine Befehle bearbeiten kann.
2. Webhook
- Name: Webhook
- Typ: n8n-nodes-base.webhook
- Funktion: Der Webhook stellt den Einstiegspunkt für externe Anforderungen dar. Hier wird eine POST-Anfrage erwartet.
- Einstellungen: Die Node hat den Pfad „e21095c0-1876-4cd9-9e92-a2eac737f03e“ und die Methode ist auf POST gesetzt, um die Anforderungen zu empfangen.
3. Get Changes1
- Name: Get Changes1
- Typ: n8n-nodes-base.httpRequest
- Funktion: Diese Node ruft die Änderungen der Masteranfrage von der GitLab-API ab.
- Einstellungen: Die URL wird dynamisch basierend auf dem projekt_id und merge_request.iid gesetzt, und private Token werden als Header gesendet.
4. Split Out1
- Name: Split Out1
- Typ: n8n-nodes-base.splitOut
- Funktion: Diese Node trennt die Änderungen in separate Datenpunkte.
- Einstellungen: Es werden keine speziellen Optionen benötigt.
5. Skip File Change1
- Name: Skip File Change1
- Typ: n8n-nodes-base.if
- Funktion: Diese Node entscheidet, ob bestimmte Dateänderungen übersprungen werden sollen, basierend auf den Bedingungen, die im Workflow definiert sind.
- Einstellungen: Es prüft, ob es sich um umbenannte oder gelöschte Dateien handelt und überspringt sie entsprechend.
6. Parse Last Diff Line1
- Name: Parse Last Diff Line1
- Typ: n8n-nodes-base.code
- Funktion: Diese Node analysiert die letzte Diff-Zeile, um entscheidungsrelevante Informationen zu extrahieren.
- Einstellungen: Es wird ein benutzerdefinierter JavaScript-Code verwendet, um die erforderlichen Informationen zu extrahieren.
7. Basic LLM Chain1
- Name: Basic LLM Chain1
- Typ: @n8n/n8n-nodes-langchain.chainLlm
- Funktion: Diese Node verwendet ein Sprachmodell, um eine professionelle Überprüfung der Code-Änderungen zu generieren.
- Einstellungen: Es wird ein vorab festgelegtes Prompt gesendet, das die Datei und die Änderungen beschreibt.
8. Post Discussions1
- Name: Post Discussions1
- Typ: n8n-nodes-base.httpRequest
- Funktion: Diese Node sendet die Ergebnisse der Code-Überprüfung als Diskussion in GitLab zurück.
- Einstellungen: Die Node verwendet die POST-Methode und sendet die relevanten Informationen, einschließlich des Tokens, zur Authentifizierung.
9. Need Review1
- Name: Need Review1
- Typ: n8n-nodes-base.if
- Funktion: Diese Node überprüft, ob die Notiz einer Überprüfung bedarf.
- Einstellungen: Sie prüft, ob die Notiz auf „+0“ gesetzt ist, was anzeigt, dass eine Überprüfung erforderlich ist.
10. Sticky Note4
- Name: Sticky Note4
- Typ: n8n-nodes-base.stickyNote
- Funktion: Eine weitere Dokumentationsnote für die Benutzer.
- Einstellungen: Der Content ist auf „## Replace your gitlab URL and token ⬇️“, um die Benutzer auf die Notwendigkeit der Anpassung ihrer GitLab-URL und ihres Tokens hinzuweisen.
Ergebnis
Dieser Workflow ermöglicht es Nutzern, GitLab-Masteranfragen effizient zu überprüfen und zu analysieren, indem er automatisierte Schritte zur Extraktion und Beurteilung von Code-Änderungen bereitstellt. Auf diese Weise wird die Codeüberprüfungs-Prozedur optimiert und rationalisiert.
Download Link: Hier herunterladen