Workflow zur Überprüfung von GitLab-Masteranfragen

Dieses Workflow dient dazu, Änderungen in einer GitLab-Masteranfrage zu greifen, sie zu analysieren und eine Überprüfung der Code-Änderungen vorzunehmen.

Workflow zur Überprüfung von GitLab-Masteranfragen

Die Website nutzt die Wordpress-Infrastruktur.

Server: Unser Server befindet sich in einem Unternehmen mit Sitz in Deutschland. Er hat eine hohe und schnelle Internetverbindung. Es gibt eine Generatorunterstützung für ununterbrochenen Strom.

Ü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

Facebook
Twitter
LinkedIn

Andere Projekte