Wie kann ich einen anonymen Benutzer dazu bringen, Fehler in einem privaten GitHub-Projekt einzureichen?

10

Unsere Firma hat ein privates GitHub-Repository für das Projekt, an dem ich arbeite. Nach einem vollen Arbeitssommer werden wir diese Woche starten (wheee!). Ich möchte jedoch einen Link "Fehler senden" in das Programm aufnehmen, der zu einem Formular führt, in dem der Benutzer ein Formular ausfüllen kann, das für uns auf GitHub zu einem Problem wird. Googeln hat keine Lösung gefunden (oder jemanden, der das gleiche Problem hat).

Ist dies möglich (möglicherweise über eine API?) Oder muss ich die von meinen Benutzern gemeldeten Fehler manuell eingeben?

SomeKittens
quelle
Keine Antwort, da es sich nur um Links handelt, aber die Github-API ist genau das, wonach Sie suchen. Speziell Probleme erstellen . Wenn Sie dies tun, wäre es schön, wenn Sie zurückkommen und ein Beispiel mit Code zur Verwendung hinzufügen würden.
Jacob Schoen
2
Auch keine Antwort: Betrachten Sie eine einfachere Form (untere Barriere für den Benutzer), die Ihnen nur eine E-Mail sendet. Während Sie gerade starten, ist jeder Benutzer, der sich die Zeit nimmt, um einen Fehlerbericht einzureichen, wahrscheinlich sowieso jemand, mit dem Sie sich persönlich beschäftigen möchten. Sie an Github abzugeben, ist eigentlich eine Verschwendung einer Gelegenheit.
Grossvogel
Ich denke eigentlich sollte man das als Antwort @JacobSchoe schreiben, da es ungefähr ein guter Ansatz ist und derzeit die hier akzeptierte Antwort fälschlicherweise den Leuten sagt, dass die Github-API "nicht helfen wird".
Harry Wood

Antworten:

10

Ich glaube nicht, dass die API Ihnen in diesem Fall helfen wird. Da das Projekt privat ist, kann niemand, der nicht angemeldet ist UND Zugriff auf das Projekt hat, etwas mit dem Projekt tun, einschließlich der Erstellung von Tickets.

Wenn Sie die Github-API verwenden, müssen Sie den Benutzernamen und das Kennwort einem Konto hinzufügen, das an dem Projekt mitarbeitet. Wahrscheinlich keine gute Idee.

Ihre nächste Option wäre, ein öffentliches Projekt mit einem ähnlichen Namen, jedoch ohne Code, zu erstellen. Dann können Sie dieses Projekt verwenden, um die externen Kundenfehler zu verfolgen.

Andrew T Finnell
quelle
3
Es ist durchaus üblich, dass sich ein serverseitiges Skript mit privaten Anmeldeinformationen bei einem anderen System authentifiziert. Solange die Einstellungsdatei mit dem Passwort irgendwo sicher aufbewahrt wird und Ihr Server selbst sicher ist, ist dies Standard. Warum "wahrscheinlich keine gute Idee" ?
Harry Wood
7

Jemand auf reddit hat ein Open-Source-Projekt namens Gitreports erstellt, in dem Sie sich anmelden können. Es gibt Ihnen eine eindeutige URL, die Sie Ihren Kunden geben können, und sie können Fehler sogar an private Repos senden, ohne jemals Code zu sehen.

Wenn Ihnen dies zwielichtig erscheint, können Sie es selbst hosten

Christian
quelle
2

Vielleicht kann es helfen. Ich musste Nicht-GitHub-Benutzern erlauben, neue Probleme zu öffnen, und habe daher ein benutzerdefiniertes Google Apps-Skript erstellt, das mit einem Google Forms verknüpft ist, um Probleme im Repository des Projekts zu öffnen.

Benutzer ohne GitHub-Konto füllen das Formular aus, dann überträgt das Apps-Skript Titel und Nachricht in die Repository-Probleme. Das Apps-Skript verwendet OAuth2, um eine Verbindung zu meinem GitHub-Konto herzustellen und die Probleme zu veröffentlichen.

Die schlechte Seite dieser Lösung ist, dass ich Eigentümer von Problemen bin, die mit dem anonymen Formular erstellt wurden. Dies war für mich akzeptabel. Ich bevorzuge es, das Problem zu haben, anstatt die Probleme in einem anderen System zu protokollieren.

Wenn Sie interessiert sind, können Sie diesen Artikel lesen : http://ez34.net/2016/12/publish-anonymous-issues-on-github.html

Ich habe auch diese Lösung https://gitreports.com/ gefunden, aber nicht getestet.

Stéphane

St3ph
quelle
0

Die schlüsselfertige Linux-Appliance von Redmine ist kostenlos für Ihr eigenes Hosting oder über die Amazon-Cloud erhältlich (zahlen Sie einfach und schalten Sie sie ein). Redmine ermöglicht die Übermittlung von Tickets per E-Mail , sodass Ihre Benutzer Ihre Tickets auf diese Weise einsenden können. Mit Redmine können anonyme Benutzer auch Tickets hinzufügen, wenn Sie die Berechtigungen auf diese Weise einrichten.

Da es sich bei der Appliance um eine vollständige Linux-Box handelt, können Sie einen Cron-Job oder eine Push-Benachrichtigung ausführen, die ein Skript ausführt und das neue Ticket dem privaten Github-Repo hinzufügt. Die Github-API ermöglicht auch das Abrufen von Problemen , sodass das Skript auch die Redmine-Box auf dem neuesten Stand halten kann.

Persönlich würde ich die Redmine-Appliance einfach alleine verwenden und das Remote-Github-Repo überwachen lassen .

Spencer Rathbun
quelle