2017-07-07 4 views
6

Ich brauche Gitlab-Integration in Upsource, etwas ähnliches zur verfügbaren Github-Integration. Da es dafür noch kein Feature gibt, habe ich versucht, einen einfachen Proxy zu schreiben, der die Anfrage an Github API für Gitlab API übersetzt. Ähnlich übersetzt es Antwort. Die Hauptidee besteht darin, das Projekt als Github-Projekt zu konfigurieren, aber tatsächlich Gitlab hinter meinem Proxy zu verstecken. Es begann zu arbeiten, z.B. beim Erlangen eines oauth-Token-Prozesses. Es funktioniert auch, um Commits und Kommentare zu erhalten. Ich habe jedoch ein Problem beim Abrufen von Pull-Anforderungen. In upsource-Frontend Protokollen fand ich folgende Warnung:Upsource mit Gitlab-Integration

Head not found for pull request 

I Felder für Kopfobjekt als Reaktion gefüllt (nach Github API-Dokumentation), aber es funktioniert immer noch nicht. Vielleicht könnten Sie mir sagen, was Upsource als Antwort auf Pull Requests benötigt?

Antwort

0

Upsource Entwickler hier. Du hast großartige Arbeit geleistet!

Kopf nicht für Pull-Anforderung gefunden

Das bedeutet, dass Upsource nicht diesen Pull-Request in Git sieht. Welches Repository sucht Upsource?

Die GitLab-Integration ist übrigens eine unserer Hauptprioritäten, obwohl die GitLab-API nicht so reichhaltig ist wie GitHub, sodass wir keine vollständige Synchronisationsverbindung für GitHub implementieren können.

Aktualisierung: GitLab Integration, die Kommentare Synchronisierung und Zusammenführung Aktion enthält, ist released in Upsource 2017.3.

+0

_Welches Repository sucht Upsource? _ Aus Upsource Sicht ist es ein Github-Projekt (aber in Wirklichkeit ist es Gitlab hinter meinem Proxy). – lukjar

+0

@lukjar Got it. Das Problem ist, dass Pull-Requests in GitHub ('refs/pull') und GitLab (' refs/merge-requests') unterschiedlich gespeichert werden und Upsource versucht, sie dort entsprechend zu finden. – Maxim

+0

Ich nehme an, du meinst "refs" -Verzeichnis im Git-Repository? Ich verstehe, dass Sie die Verzeichnisse 'refs/pull' und' refs/merge-requests' intern in Upsource erstellen? – lukjar