¿Cómo puedo hacer que un usuario anónimo envíe errores en un proyecto privado de GitHub?

10

Nuestra empresa tiene un repositorio privado de GitHub para el proyecto en el que estoy trabajando. Después de un verano completo de trabajo, parece que estaremos lanzando esta semana (¡vaya!). Sin embargo, quiero incluir un enlace "enviar un error" en el programa que lleve a un formulario en algún lugar donde el usuario pueda completar un formulario que se convierte en un problema para nosotros en GitHub. Buscar en Google no ha encontrado ninguna solución (o alguien que tenga el mismo problema).

¿Es esto posible (a través de alguna API, tal vez) o tendré que ingresar manualmente los errores que informan mis usuarios?

Algunos gatitos
fuente
No es una respuesta, ya que solo son enlaces, pero la API de Github es lo que estás buscando. Específicamente creando problemas . Si hace esto, sería bueno que regresara y agregara un ejemplo con código sobre cómo usarlo.
Jacob Schoen
2
Tampoco es una respuesta: considere una forma más simple (barrera inferior para el usuario) que solo le envía un correo electrónico. Como recién estás iniciando, cualquier usuario que se tome el tiempo para presentar un informe de error es probablemente alguien con quien quieras involucrarte personalmente, de todos modos. Tirarlos a Github es en realidad una pérdida de oportunidad.
grossvogel
Creo que en realidad debería escribir eso como respuesta @JacobSchoe, ya que es más o menos un buen enfoque, y actualmente la respuesta aceptada aquí incorrectamente le dice a la gente que la API de github "no va a ayudar".
Harry Wood

Respuestas:

10

No creo que la API te vaya a ayudar en este caso. Debido a que el proyecto es privado, nadie que no haya iniciado sesión Y tenga acceso al proyecto podrá hacer nada con el proyecto, incluida la creación de tickets.

Si usa la API de Github, deberá incluir el nombre de usuario y la contraseña en una cuenta que sea colaboradora en el proyecto. Probablemente no sea una gran idea.

Su próxima opción sería crear un proyecto público con un nombre similar, pero sin el código. Luego puede usar ese proyecto para rastrear los errores externos del cliente.

Andrew T Finnell
fuente
3
Es bastante común que un script del lado del servidor se autentique con otro sistema utilizando credenciales privadas. Siempre y cuando el archivo de configuración con la contraseña se mantenga seguro en algún lugar, y su servidor en sí esté seguro ... esto es algo estándar. ¿Por qué "probablemente no sea una buena idea" ?
Harry Wood
7

Alguien en reddit creó un proyecto de código abierto llamado Gitreports donde puede registrarse y le dará una URL única que puede dar a sus clientes y pueden enviar errores incluso a repositorios privados sin ver nunca el código.

Si esto le parece sospechoso, puede alojarlo usted mismo

cristiano
fuente
2

Puede ser que pueda ayudar. Tenía esta necesidad de permitir que los usuarios que no son de GitHub abrieran nuevos problemas, así que hice un Script de Google Apps personalizado vinculado a un Formulario de Google para abrir problemas en el repositorio del proyecto.

El usuario sin cuenta de GitHub completa el formulario, luego el script de aplicaciones empujará el título y el mensaje en los problemas del repositorio. El script de aplicaciones usa OAuth2 para conectarse a mi cuenta de GitHub para publicar los problemas.

El lado negativo de esta solución es que soy el propietario de los problemas creados con el formulario anónimo. Esto fue aceptable para mí, prefiero tener el problema en lugar de registrar los problemas en otro sistema.

Si está interesado, puede consultar este artículo: http://ez34.net/2016/12/publish-anonymous-issues-on-github.html

También encontré esta solución https://gitreports.com/ pero no la pruebo.

Stéphane

St3ph
fuente
0

El dispositivo Linux llave en mano de Redmine está disponible de forma gratuita para su propio alojamiento o a través de la nube de Amazon (solo pague y enciéndalo). Redmine permite el envío de tickets por correo electrónico , por lo que sus usuarios pueden hacer que sus usuarios envíen los tickets de esa manera. Redmine también permite a los usuarios anónimos agregar tickets, si configura los permisos de esa manera.

Dado que el dispositivo es una caja de Linux completa, puede tener un trabajo cron o notificación push que ejecuta un script y agrega el nuevo ticket al repositorio privado de github. La API de Github también permite obtener problemas , por lo que puede hacer que el script mantenga actualizado el cuadro de Redmine.

Personalmente, solo usaría el dispositivo Redmine por sí mismo y lo haría monitorear el repositorio remoto de github .

Spencer Rathbun
fuente