Как я могу заставить анонимного пользователя отправлять сообщения об ошибках в частном проекте GitHub?

10

У нашей компании есть частный репозиторий GitHub для проекта, над которым я работаю. После полного лета работы, похоже, мы запустим эту неделю (вот так!). Тем не менее, я хочу включить в программу ссылку «Отправить ошибку», которая ведет к форме где-то, где пользователь может заполнить форму, которая становится проблемой для нас на GitHub. Поиск в Google не нашел никакого решения (или у кого-то, кто имеет такую ​​же проблему).

Возможно ли это (через какой-то API, возможно?) Или мне придется вручную вводить сообщения об ошибках, о которых сообщают мои пользователи?

SomeKittens
источник
Не ответ, так как это просто ссылки, но Github API - это то, что вы ищете. Конкретно создавая проблемы . Если вы сделаете это, было бы неплохо, если бы вы вернулись и добавили пример с кодом, как его использовать.
Джейкоб Шон
2
Также не ответ: рассмотрите более простую форму (более низкий барьер для пользователя), которая просто отправляет вам электронное письмо. Когда вы только начинаете, любой пользователь, который тратит время на отправку отчета об ошибке, вероятно, тот, с кем вы хотите лично пообщаться. Сбросить их в Github на самом деле пустая трата возможностей.
grossvogel
Я думаю, что на самом деле вы должны написать это как ответ @JacobSchoe, так как это примерно хороший подход, и в настоящее время принятый здесь ответ неверно говорит людям, что github API «не поможет».
Гарри Вуд

Ответы:

10

Я не думаю, что API поможет вам в этом случае. Поскольку проект является частным, никто, кто не вошел в систему и не имеет доступа к проекту, не сможет ничего сделать с проектом, включая создание заявок.

Если вы используете Github API, вам нужно будет указать имя пользователя и пароль для учетной записи, которая является соавтором проекта. Наверное, не очень хорошая идея.

Следующим вариантом будет создание общедоступного проекта с аналогичным именем, но без кода. Затем вы можете использовать этот проект для отслеживания ошибок внешних клиентов.

Эндрю Т Финнелл
источник
3
Сценарий на стороне сервера довольно часто проходит проверку подлинности в другой системе с использованием личных учетных данных. Пока файл настроек с паролем где-то защищен, а сам сервер защищен ... это стандартные вещи. Почему "вероятно, не очень хорошая идея" ?
Гарри Вуд
7

Кто-то в Reddit создал проект с открытым исходным кодом под названием Gitreports, где вы можете зарегистрироваться, и он даст вам уникальный URL-адрес, который вы можете дать своим клиентам, и они могут отправлять сообщения об ошибках даже в частные репозитории, даже не видя кода.

Если это кажется вам сомнительным, вы можете провести его самостоятельно

Кристиан
источник
2

Может быть, это может помочь. Мне нужно было разрешить пользователям, не являющимся пользователями GitHub, открывать новые проблемы, поэтому я создал собственный скрипт Служб Google, связанный с формами Google, чтобы открывать проблемы в хранилище проекта.

Пользователь, не имеющий учетной записи GitHub, заполняет форму, после чего скрипт приложения отправляет заголовок и сообщение в проблемах с репозиторием. Сценарий приложений использует OAuth2 для подключения к моей учетной записи GitHub для публикации проблем.

Плохая сторона этого решения - я владелец проблем, созданных с помощью анонимной формы. Это было приемлемо для меня, я предпочитаю иметь проблему, а не регистрировать проблемы в другой системе.

Если вы заинтересованы, вы можете проверить эту статью: http://ez34.net/2016/12/publish-anonymous-issues-on-github.html

Я нашел также это решение https://gitreports.com/, но не проверял его.

Stéphane

St3ph
источник
0

Устройство Linux под ключ Redmine доступно бесплатно для вашего собственного хостинга или через облако Amazon (просто оплатите и включите его). Redmine позволяет отправлять заявки по электронной почте , чтобы ваши пользователи могли отправлять заявки таким образом. Redmine также позволяет анонимным пользователям добавлять тикеты, если вы настроили разрешения таким образом.

Поскольку устройство представляет собой полный пакет linux, вы можете получить задание cron или push-уведомление, которое запускает скрипт и добавляет новый билет в частное репозиторий github. Github API также позволяет получать проблемы , так что вы можете сделать так, чтобы скрипт обновлял окно Redmine.

Лично я бы просто использовал устройство Redmine и осуществлял мониторинг удаленного репозитория github .

Спенсер Рэтбун
источник