Automatisierte GitLab-Merge-Anfrageüberprüfung mit n8n

Dieser Workflow ermöglicht die automatisierte Überprüfung von Merge-Anfragen in GitLab, indem Änderungen analysiert und Bewertungen generiert werden.

Automatisierte GitLab-Merge-Anfrageüberprüfung mit n8n

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.

Workflow Einleitung

Dieser n8n-Workflow automatisiert den Prozess der Überprüfung von Merge-Anfragen in GitLab. Durch die Automatisierung wird die Effizienz und Genauigkeit der Codeüberprüfung erhöht.

Node Übersicht

1. Sticky Note

  • Typ: Sticky Note
  • Beschreibung: Dieser Node dient als hilfreiche Notiz im Workflow. Er informiert die Benutzer, dass sie ihren eigenen Prompt bearbeiten sollen.

2. Sticky Note2

  • Typ: Sticky Note
  • Beschreibung: Ein weiterer Hinweis, der die Benutzer darauf hinweist, Kommentare zu filtern und Trigger-Wörter anzupassen.

3. Sticky Note3

  • Typ: Sticky Note
  • Beschreibung: Diese Notiz weist darauf hin, die GitLab-URL und das Token zu ersetzen.

4. Webhook

  • Typ: Webhook
  • Beschreibung: Dieser Node nimmt HTTP POST-Anfragen entgegen, um die Workflow-Ausführung zu triggern, wenn eine neue Merge-Anfrage erstellt oder aktualisiert wird.
  • Einstellungen:
    • Webhook ID: 6cfd2f23-6f45-47d4-9fe0-8f6f1c05829a
    • Pfad: e21095c0-1876-4cd9-9e92-a2eac737f03e

5. Code

  • Typ: Code
  • Beschreibung: Dieser Node verarbeitet die Änderungen, die in der Merge-Anfrage vorgenommen wurden, und extrahiert das ursprüngliche und neue Code-Snippet.
  • Einstellungen: Der Code wird für jedes Element einmalig ausgeführt, um Felder hinzuzufügen und die Änderungen zu analysieren.

6. Split Out1

  • Typ: Split Out
  • Beschreibung: Teilt die Liste der Änderungen in Einzelteile auf, damit jede Änderung separat bearbeitet werden kann.

7. OpenAI Chat Model1

  • Typ: OpenAI Chat Model
  • Beschreibung: Dieser Node nutzt OpenAI, um eine Überprüfung des Codes durchzuführen, basierend auf den Änderungen, die in der Merge-Anfrage vorgenommen wurden.
  • Einstellungen: Die Basis-URL bleibt leer, da der entsprechende API-Endpunkt innerhalb des HTTP-Requests verwendet wird.

8. Get Changes1

  • Typ: HTTP Request
  • Beschreibung: Ruft die Änderungen einer bestimmten Merge-Anfrage in GitLab ab.
  • Einstellungen: Die URL wird dynamisch anhand der Merge-Anfrage-Parameter zusammengesetzt.

9. Skip File Change1

  • Typ: If
  • Beschreibung: Überprüft, ob die Dateiänderungen verarbeitet werden sollen. Wenn es sich um umbenannte oder gelöschte Dateien handelt, werden sie übersprungen.

10. Parse Last Diff Line1

  • Typ: Code
  • Beschreibung: Analysiert die letzte Zeile des Diffs, um die Position der Änderungen zu erfassen.

11. Post Discussions1

  • Typ: HTTP Request
  • Beschreibung: Sendet die Überprüfung der Änderungen als Diskussion in die Merge-Anfrage zurück.
  • Einstellungen: Der Body enthält alle relevanten Details zur Diskussion.

12. Need Review1

  • Typ: If
  • Beschreibung: Überprüft, ob eine Überprüfung der Änderungen erforderlich ist. Hier wird geprüft, ob die Änderung positiv markiert ist.

13. Basic LLM Chain1

  • Typ: Basic LLM Chain
  • Beschreibung: Generiert die entsprechende Überprüfung und Empfehlungen zur Codeänderung.

14. Sticky Note4

  • Typ: Sticky Note
  • Beschreibung: Letzte Notiz zur Erinnerung, die GitLab-URL und Token korrekt zu ersetzen.

Ergebnis

Nach der Ausführung dieses Workflows werden Änderungen an Merge-Anfragen automatisch überprüft, und die Ergebnisse werden entsprechend zurück in GitLab gepostet. Dies ermöglicht eine schnellere und genauere Codeüberprüfung, was sowohl für Entwickler als auch für die Codequalität von Vorteil ist.

Sie können den Workflow hier herunterladen: Download Link

Facebook
Twitter
LinkedIn

Andere Projekte