Humboldt-Universität zu Berlin - Computer- und Medienservice

Wie kann ich GitLab in OpenProject integrieren?

In OpenProject lassen sich GitLab-Issues mit OpenProject-Tasks verknüpfen, d.h. man sieht in den OpenProject-Eigenschaften eines Tasks (GITLAB-Tab) alle Issues und Merge-Requests aus GitLab, die mit dem Task verknüpft sind. Die Verknüpfung erfolgt über einen Text-Schnipsel, den man sich aus dem OpenProject-Task-Eigenschaften in die Issue-Beschreibung kopieren kann, und über einen Webhook in GitLab, der dafür sorgt, das neue und geänderte Issues und passende Merge-Requests auch in OpenProject angezeigt werden, d.h. GitLab überträgt Daten zu OpenProject.

Kurzanleitung zum einmaligen Einrichten:

  1. In OpenProject einen API-Key für den eigenen Account erzeugen: Mein Konto > Zugriffstokens
    Empfehlung: für jedes Projekt einen eigenen API-Key anlegen (wg. Sicherheit etc.)
  2. In OpenProject das Modul GitLab für das Projekt aktivieren: Projektkonfiguration > Module > GitLab
  3. In GitLab in einem (neuen) Projekt einen Webhook anlegen: Settings > Webhooks
    • URL: https://hu-berlin.openproject.com/webhooks/gitlab?key=[MEIN API-KEY]
    • Trigger aktivieren: Push Events, Comments, Issues events, Merge request events, Pipeline events
    • Hinweis: Der Test des Webhooks funktioniert unter Umständen nicht (liefert Fehlercode 500), sollte aber trotzdem funktionieren.

 

Kurzanleitung zur Benutzung:

  1. In OpenProject einen Task anlegen und dann aus dem GITLAB-Tab des Tasks den GitLab-Schnipsel für Commit-Nachrichten herauskopieren.
  2. In GitLab einen Issue anlegen und in das Textfeld das OpenProject-GitLab-Schnipsel hineinkopieren.
  3. Dann sollte in OpenProject im GITLAB-Tab des Tasks das Issue angezeigt werden.

 

Sicherheitshinweise

  • Der OpenProject-API-Key hat die vollen Rechte des eigenen Accounts in OpenProject, d.h. der API-Key ist wie ein Passwort zu behandeln.
  • Will man eine deutlich sicherere Methode verwenden, als mit dem eigenen Account und allen entsprechenden OpenProject-Rechten einen API-Key zu erzeugen, muss man einen eigenen (Funktions)-Account verwenden, der in OpenProject für das entsprechende Projekt nur die Rolle GitLab bekommt und für den man dann den API-Key erzeugt.
  • In GitLab gilt die Empfehlung, den API-Key zu verstecken. Dazu kann man beim Einrichten des Webhooks die Option "Mask portions of URL" aktivieren, in das Textfeld "Sensitive portion of URL" kopiert man den API-Key und trägt unter "How it looks in the UI" das Wort "hidden" ein.