Jak mogę uzyskać anonimowego użytkownika do zgłaszania błędów w prywatnym projekcie GitHub?

10

Nasza firma ma prywatne repozytorium GitHub dla projektu, nad którym pracuję. Po pełnym lecie pracy wygląda na to, że wystartujemy w tym tygodniu (wheee!). Chcę jednak dołączyć do programu link „prześlij błąd”, który prowadzi do formularza, w którym użytkownik może wypełnić formularz, który staje się dla nas problemem na GitHub. Googling nie znalazł żadnego rozwiązania (ani kogoś, kto ma ten sam problem).

Czy to możliwe (może przez jakiś interfejs API)? Czy będę musiał ręcznie wprowadzić błędy zgłaszane przez moich użytkowników?

SomeKittens
źródło
Nie jest to odpowiedź, ponieważ są to tylko linki, ale interfejs API Github jest tym, czego szukasz. Konkretnie tworzenie problemów . Jeśli to zrobisz, byłoby miło, gdybyś wrócił i dodał przykład z kodem, jak go używać.
Jacob Schoen
2
Również nie odpowiedź: rozważ prostszą formę (dolną barierę dla użytkownika), która po prostu wysyła Ci wiadomość e-mail. Właśnie się uruchamia, a każdy użytkownik, który poświęca czas na zgłoszenie błędu, jest prawdopodobnie osobą, z którą chcesz osobiście nawiązać kontakt. Zrzucenie ich na Github jest marnowaniem okazji.
Grossvogel
Myślę, że tak naprawdę powinieneś napisać to jako odpowiedź @JacobSchoe, ponieważ jest to w przybliżeniu dobre podejście, a obecnie zaakceptowana odpowiedź niepoprawnie mówi ludziom, że interfejs API github „nie pomoże”.
Harry Wood,

Odpowiedzi:

10

Nie sądzę, że interfejs API pomoże ci w tym przypadku. Ponieważ projekt jest prywatny, nikt, kto nie jest zalogowany ORAZ ma dostęp do projektu, nie będzie w stanie nic zrobić z projektem, w tym tworzyć biletów.

Jeśli korzystasz z interfejsu Github API, musisz podać nazwę użytkownika i hasło do konta, które jest współpracownikiem w projekcie. Prawdopodobnie nie jest to świetny pomysł.

Następną opcją byłoby utworzenie projektu publicznego o podobnej nazwie, ale bez kodu. Następnie możesz użyć tego projektu do śledzenia błędów klientów zewnętrznych.

Andrew T Finnell
źródło
3
Skrypt po stronie serwera dość często uwierzytelnia się w innym systemie przy użyciu prywatnych poświadczeń. Tak długo, jak plik ustawień z hasłem jest gdzieś bezpieczny, a sam serwer jest bezpieczny ... jest to standard. Dlaczego „prawdopodobnie nie jest to dobry pomysł” ?
Harry Wood,
7

Ktoś na reddit stworzył projekt open source o nazwie Gitreports, w którym możesz się zarejestrować, a on da ci unikalny adres URL, który możesz podać swoim klientom, a oni mogą zgłaszać błędy nawet do prywatnych repozytoriów, nie widząc kodu.

Jeśli wydaje ci się to podejrzane, możesz sam go hostować

chrześcijanin
źródło
2

Może to może pomóc. Musiałem pozwolić użytkownikom innym niż GitHub na otwieranie nowych problemów, dlatego utworzyłem niestandardowy skrypt Google Apps połączony z formularzami Google, aby otwierać problemy w repozytorium projektu.

Użytkownik bez konta GitHub wypełnia formularz, a następnie skrypt aplikacji wypchnie tytuł i komunikat w kwestiach dotyczących repozytorium. Skrypt aplikacji używa OAuth2 do łączenia się z moim kontem GitHub w celu publikowania problemów.

Złą stroną tego rozwiązania jest to, że jestem właścicielem problemów utworzonych za pomocą anonimowego formularza. To było dla mnie do zaakceptowania, wolę mieć problem zamiast rejestrować problemy w innym systemie.

Jeśli jesteś zainteresowany, możesz sprawdzić ten artykuł: http://ez34.net/2016/12/publish-anonymous-issues-on-github.html

Znalazłem również to rozwiązanie https://gitreports.com/, ale go nie testuj.

Stéphane

St3ph
źródło
0

Urządzenie Redmine pod klucz Linux jest dostępny za darmo dla własnego hostingu lub przez Amazon Cloud (tylko zapłacić i włącz go). Redmine umożliwia przesyłanie zgłoszeń za pośrednictwem wiadomości e-mail , dzięki czemu użytkownicy mogą wysyłać zgłoszenia w ten sposób. Redmine pozwala również anonimowym użytkownikom dodawać bilety, jeśli skonfigurujesz uprawnienia w ten sposób.

Ponieważ urządzenie jest kompletnym systemem Linux, możesz mieć zadanie cron lub powiadomienie push, które uruchamia skrypt i dodaje nowy bilet do prywatnego repozytorium github. Interfejs API github pozwala również na uzyskiwanie problemów , dzięki czemu skrypt może aktualizować również pole Redmine.

Osobiście po prostu używałbym urządzenia Redmine i monitorowałoby zdalne repozytorium github .

Spencer Rathbun
źródło