Come posso ottenere un utente anonimo per inviare bug su un progetto GitHub privato?


10

La nostra azienda ha un repository GitHub privato per il progetto a cui sto lavorando. Dopo un'intera estate di lavoro, sembra che lanceremo questa settimana (wheee!). Tuttavia, voglio includere un link "invia un bug" nel programma che porta a un modulo da qualche parte in cui l'utente può compilare un modulo che diventa un problema per noi su GitHub. Cercare su Google non ha trovato alcuna soluzione (o qualcuno che abbia lo stesso problema).

È possibile (tramite alcune API, forse?) O dovrò inserire manualmente i bug segnalati dai miei utenti?


Non una risposta in quanto sono solo collegamenti, ma l' API Github è ciò che stai cercando. In particolare creando problemi . Se lo fai, sarebbe bello se tornassi e aggiungessi un esempio con il codice su come usarlo.
Jacob Schoen,

2
Inoltre non è una risposta: considera il modulo più semplice (barriera inferiore per l'utente) che ti invia semplicemente un'email. Al momento del lancio, qualsiasi utente che impiega il tempo per presentare una segnalazione di bug è probabilmente qualcuno con cui vuoi interagire personalmente, comunque. Scaricarli su Github è in realtà uno spreco di opportunità.
Grossvogel

Penso che in realtà dovresti scriverlo come una risposta @JacobSchoe, dal momento che è approssimativamente un buon approccio, e attualmente la risposta accettata qui dice erroneamente alle persone che l'API github "non aiuterà".
Harry Wood,

Risposte:


10

Non credo che l'API ti aiuterà in questo caso. Poiché il progetto è privato, nessuno che non ha effettuato l'accesso E ha accesso al progetto sarà in grado di fare qualsiasi cosa con il progetto, inclusa la creazione di ticket.

Se usi l'API di Github dovrai includere il nome utente e la password per un account che è un collaboratore nel progetto. Probabilmente non un'ottima idea.

La tua prossima opzione sarebbe quella di creare un progetto pubblico con un nome simile, ma senza il codice. Quindi è possibile utilizzare quel progetto per tenere traccia dei bug dei clienti esterni.


3
È abbastanza comune che uno script lato server esegua l'autenticazione con un altro sistema utilizzando credenziali private. Finché il file delle impostazioni con la password è protetto da qualche parte e il server stesso è sicuro ... questa è roba standard. Perché "probabilmente non è una buona idea" ?
Harry Wood,

7

Qualcuno su reddit ha creato un progetto open source chiamato Gitreports in cui è possibile iscriversi e ti darà un URL univoco che puoi dare ai tuoi clienti e possono inviare bug anche a repository privati ​​senza mai vedere il codice.

Se questo ti sembra ombroso, puoi ospitarlo da solo


2

Può essere può aiutare. Avevo questa necessità di consentire agli utenti non GitHub di aprire nuovi problemi, quindi ho creato uno script Google Apps personalizzato collegato a un modulo di Google per aprire i problemi sul repository del progetto.

L'utente senza account GitHub compila il modulo, quindi lo script delle app invierà il titolo e il messaggio nei problemi del repository. Lo script delle app utilizza OAuth2 per connettersi al mio account GitHub per pubblicare i problemi.

Il lato negativo di questa soluzione è che sono il proprietario di problemi creati con il modulo anonimo. Questo era accettabile per me, preferisco avere il problema invece di registrare i problemi in un altro sistema.

Se sei interessato puoi consultare questo articolo: http://ez34.net/2016/12/publish-anonymous-issues-on-github.html

Ho trovato anche questa soluzione https://gitreports.com/ ma non la provo .

Stéphane


0

L' appliance Linux chiavi in ​​mano Redmine è disponibile gratuitamente per il tuo hosting o tramite il cloud Amazon (basta pagare e accenderlo). Redmine consente l'invio dei biglietti tramite e - mail , quindi i tuoi utenti potrebbero avere i tuoi utenti a inviare i biglietti in quel modo. Redmine consente inoltre agli utenti anonimi di aggiungere biglietti, se si impostano le autorizzazioni in questo modo.

Poiché l'appliance è un box linux completo, puoi avere un cron job o una notifica push che esegue uno script e aggiunge il nuovo ticket al repository github privato. L'API github consente anche di ottenere problemi , in modo che lo script mantenga aggiornato anche il riquadro Redmine.

Personalmente, utilizzerei semplicemente l'appliance Redmine da solo e lo farei monitorare il repository github remoto .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.