GitHub uruchomił bota do automatycznej moderacji problemów

W ramach projektu Emitenta dla GitHuba został przygotowany bot, który automatycznie rozwiązuje zadania moderowania system śledzenia na GitHub. Na GitHub możesz znaleźć repozytoria, których jedyną funkcją jest koordynacja ludzi poprzez system Issue.

W niektórych z nich po wyjściu z problemu zostaniesz poproszony o wypełnienie formularza, wtedy zobaczyłemmiej moderatora, sprawdź poprawność wypełnienia formularza i umieść tagi zgodnie z określonymi w formularzu (tagi mogą być zawieszane tylko przez uprzywilejowanego użytkownika, jeśli nie są określone w szablonie). Przykładem takiej społeczności jest społeczność Open Source Ideas.

Moderator nie przychodzi od razu. W związku z tym, Akcja GitHub opisana w nowościach została przygotowana w celu walidacji formularzy i wykonywania operacji.

Bot jest napisany w Pythonie, ale nadal musi być uruchamiany przez node.js, ponieważ GitHub ma tylko 2 typy akcji: node.js i docker, a dla docker, najpierw ładowany jest ten sam kontener, co node.js, a następnie ładowany jest do drugiego kontenera, który To jest długie.

Biorąc pod uwagę, że python3 i wszystko, czego potrzebujesz, znajduje się w kontenerze z node.js, racjonalne jest po prostu załadowanie do niego zależności, ponieważ są one małe.

To jest akcja GitHub z 3 połączonymi funkcjami do zarządzania problemami.

Sprawdź, czy przychodzące problemy w jakikolwiek sposób pasują do szablonu:

Że sekcje nie zawierają wierszy z domyślnego szablonu (zwykle występuje, gdy użytkownik nie zadał sobie trudu, aby ukończyć sekcję).

Że sekcje zawierające pola wyboru, które mają być ustawione jako etykiety, zawierają tylko pola wyboru obecne w oryginalnym szablonie

Że każda sekcja ma określoną liczbę pól oznaczonych w zakresie [min, max]

Ustaw etykiety zgodnie z zaznaczonymi polami.

Automatycznie zamyka problemy, jeśli autor nie naprawił problemów wskazanych przez linter w określonym czasie.

Korzystanie z dedykowanej osoby do przypisywania etykiet jest obciążeniem, ponieważ najlepiej jest pozwolić użytkownikom na „samoobsługę”. Użytkownicy mogą przypisywać niektóre etykiety do problemów z podzbioru ograniczonego, co można zrobić za pomocą rozszerzenia Markdown i pól wyboru.

Z tym gdy użytkownik zaznaczy pola wyboru lub przyciski opcji bot odpowiednio ustawia etykiety.

Z cech, które się wyróżniają tego bota, który został przygotowany, są następujące:

  • Akcja jest kontrolowana przez ustawienia YAML i szablony Markdown;
  • Do każdego szablonu Markdown dodawany jest blok który opisuje warunki prawidłowego wypełnienia formularza i pożądane działania;
  • Dodawany jest plik konfiguracyjny z ustawieniami globalnymi;
  • Formularze składają się z sekcji.
  • Istnieją 2 rodzaje sekcji:
    Dowolny tekst: Akcja może zweryfikować, czy użytkownik zadał sobie trud, aby coś ukończyć. Znaczenie tekstu nie jest automatycznie weryfikowane.
    W polach wyboru n liczbę flag można zażądać i / lub zakończyć, tak że 0 {= m1 {= n {= m2 {= całkowita liczba flag w sekcji).
  • Akcja sprawdza, czy pola są zgodne z polami w szablonie. Jeśli flagi są ustawione poprawnie, akcja może zawiesić się na tagach powodujących problemy, odp. Pola wyboru.
  • Jeśli formularz jest wypełniony niepoprawnie, akcja instruuje użytkownika, jak poprawnie go wypełnić i dodaje specjalny tag.
  • Jeśli formularz nie zostanie poprawiony w określonym czasie, akcja może rozwiązać problem. Automatyczne blokowanie użytkowników, usuwanie i przenoszenie problemu nie zostało jeszcze wdrożone ze względu na brak oficjalnego interfejsu API dla niezbędnych działań i problemów ze stanem przechowywania.
  • Jeśli problem zostanie rozwiązany, akcja usuwa znak.
  • Odpowiedzi na szablony akcji można oczywiście dostosować.

W końcu jeśli chcesz dowiedzieć się więcej na ten tematszczegóły możesz sprawdzić, przechodząc do następujący link.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.