Bidirektionale Synchronisierung zwischen Discourse Topics/Categories und GitHub/Gitlab Issue Trackers

Ich antworte hier, anstatt ein neues Thema zu eröffnen. Andere verwandte Themen finden Sie hier, hier, hier und hier. (Dieser spezifische Themenverlauf ist sowohl relativ neu als auch relativ lang.)

Ich habe im Thema für Discourse Code Review gefragt, ob dieses eine Unterstützung für GitHub Issues bietet:

tl;dr: Eine gewisse Form der bidirektionalen Synchronisierung von GitHub Issues und Discourse-Themen als Funktion von Discourse Code Review könnte für Projekte hilfreich sein, bei denen derzeit eine gewisse Unklarheit und Redundanz zwischen beiden besteht.

Ich poste dies hier erneut, da die andere Diskussion Antworten nach einem Monat automatisch löscht.

4 „Gefällt mir“

Hallo Elsie! Ich denke, du möchtest hier ein neues #feature-Thema eröffnen, denn das GitHub-Plugin, auf das du dich beziehst, ist nicht das Code-Review-Plugin.

Ich sehe, dass du große Begeisterung mitbringst. Ich glaube, die Unterstützung für Issues bei Discourse Code Review hinzuzufügen, ist ein „PR welcome"-Fall, bin mir aber nicht sicher. Wenn du hier etwas detaillierter beschreiben könntest, was du im Sinn hast, kann sich vielleicht jemand aus der Community darum kümmern. Falls du ein Budget dafür hast, kannst du den Beitrag auch im Marketplace veröffentlichen.

2 „Gefällt mir“

Hallo @tobiaseigen – danke für deine Antwort. Ich bin Administrator auf keinem Discourse-Forum, und mein Vorschlag basiert hauptsächlich auf einer wiederkehrenden Erfahrung, die ich als Nutzer und manchmal auch als Beitragender in verschiedenen Projekten gemacht habe.

Ich habe mich speziell für Discourse Code Review entschieden, weil es de facto die einzige Discourse-GitHub-Integration zu sein scheint, es sei denn, es gibt andere aktuell gewartete Projekte, die mir nicht bekannt sind. Unabhängig davon werde ich dieses Thema umbenennen, um es etwas allgemeiner zu halten.

Das Kernproblem ist im Grunde das Triage: Bei Projekten, die sowohl eine Discourse-Instanz als auch einen öffentlichen GitHub-Issue-Tracker haben, konzentrieren sich die Nutzer meist stärker auf die Discourse-Instanz. Wenn ein Diskussionsbeitrag eigentlich eher ein GitHub-Issue wäre, entsteht manchmal Reibung, wenn es darum geht, dass der Beitrag die richtigen Personen erreicht, die dafür zuständig sind, ihn zu bearbeiten.

Eine andere Sichtweise darauf ist die von Postfächern oder Behältern: Wenn Endnutzer hauptsächlich auf der Discourse-Instanz aktiv sind und die Entwickler eher im GitHub-Repository, müssen die Entwickler oder eine mit der Triage betraute Person im Wesentlichen mehrere redundante Stellen im Blick behalten, an denen Leute ihre Probleme melden können, und eine konsistente Methode finden, Issues und Topics bei Bedarf zu migrieren.

Was ich mir bei einer Synchronisierung von GitHub-Issues vorstelle, ist etwas Ähnliches wie das Discourse-WordPress-Plugin, bei dem der Issue-Tracker und eine entsprechende Discourse-Kategorie für den Endnutzer lediglich unterschiedliche Ansichten desselben zugrundeliegenden Satz von Gesprächen darstellen.

Noch einmal: Ich bin nicht in der Lage, Geld für dieses Feature auszugeben. Ich poste hier aufgrund meiner Erfahrung und Frustration darüber, dass oft unklar ist, wo man welche Art von Feedback bei bestimmten Projekten hinterlassen soll, und dass fehlplatziertes Feedback leicht untergeht.

(Oh, und vorzugsweise sollte es exakt die gleiche Funktionalität für GitLab wie für GitHub geben…)

2 „Gefällt mir“

Eine weitere Möglichkeit, dies zu formulieren, ist, dass Issue-Tracker im Grunde Foren (oder, um einen älteren Begriff zu verwenden, „Bulletin-Board-Dienste") mit einer dicken Schicht Agile-Projektmanagement darüber sind. Seltsamerweise ähneln sie auch Mailinglisten, da Nutzer vollständig per E-Mail mit ihnen interagieren können. Discourse befindet sich in einer einzigartigen, zentralen Position, indem es diese oberflächlich unterschiedlichen (in vielerlei Hinsicht jedoch funktional ähnlichen) Dienste zusammenführt, um Fragmentierung zu reduzieren.

1 „Gefällt mir“

Vielen Dank, dass du all das erklärt hast. Es hört sich tatsächlich so an, als müsstest du die Projekte, zu denen du beitragst und die Discourse nutzen, auffordern, dies anzugehen. Im Moment ist mir nicht einmal klar, wie viele Projekte Discourse Code Review einsetzen und wie das bei ihnen läuft. Du kannst mir gerne eine PN mit einigen Details senden, damit wir konkreter werden können.

Dieses Plugin ist anders. Die Diskussionen existieren nur in Discourse und werden am Ende von WordPress-Beiträgen eingebettet. Sie werden nicht synchronisiert.

Richtig, ja, die Tatsache, dass WordPress viel modularer ist, würde dies auf eine Weise ermöglichen, die GitHub nicht könnte.

@elsiehupp Haben Sie hier Fortschritte gemacht? Ich würde gerne etwas Ähnliches implementieren – bidirektionale Synchronisierung von Github-Problemen mit einem Diskurs-Thema.

Ich habe an diesem für ein paar verschiedene Projekte gearbeitet. Hier gibt es ein Proof of Concept (POC)

Ich hoffe, in den nächsten Wochen eine Testversion in ein paar Projekten live zu haben.

7 „Gefällt mir“

Gerne helfe ich beim Testen, sobald Sie bereit sind!

2 „Gefällt mir“

@elsiehupp @angus @sunjam Konntet ihr eine bidirektionale Synchronisierung zwischen GitHub-Problemen und Discourse-Themen erstellen? Ich suche auch nach dieser Funktion. Jede Hilfe oder Anleitung in dieser Hinsicht wäre sehr willkommen.

1 „Gefällt mir“

Ich habe keine weiteren Arbeiten an dem von mir geposteten Branch vorgenommen, aber vielleicht funktioniert er trotzdem

Sie können ihn gerne ausprobieren und mir Bescheid geben, ob er funktioniert.

3 „Gefällt mir“

Ich frage mich, ob das mit relativ geringem Aufwand aktualisiert werden kann, es ist ein Muss für nicht-sehr-technische Gemeinschaften.