GitHub a lansat un bot pentru moderarea automată a problemelor

Ca parte a proiectului Emitent, a fost pregătit un bot pentru GitHub care rezolvă sarcinile de moderare automată sistemul de urmărire de pe GitHub. Pe GitHub puteți găsi depozite a căror singură funcție este de a coordona oamenii prin sistemul Issue.

În unele dintre ele, la ieșirea din Problemă vi se solicită să completați un formular, apoi am văzutaveți un moderator, verificați corectitudinea completării formularului și a postării etichetelor conform celor specificate în formular (etichetele pot fi agățate de un utilizator privilegiat numai dacă nu sunt specificate în șablon). Un exemplu de astfel de comunitate este comunitatea Open Source Ideas.

Moderatorul nu vine instantaneu. Prin urmare, O acțiune GitHub prezentată în știri a fost pregătită pentru validarea formularelor și efectuarea operațiunilor.

Botul este scris în Python, dar trebuie totuși rulat prin node.js, deoarece GitHub are doar 2 tipuri de acțiuni: node.js și docker și pentru docker, mai întâi se încarcă același container ca și node.js și este încărcat în celălalt container care Este lung.

Având în vedere că python3 și tot ce aveți nevoie se află în containerul cu node.js, este rațional să încărcați doar dependențele în el, deoarece acestea sunt mici.

Aceasta este o acțiune GitHub cu 3 funcții conectate pentru gestionarea problemelor.

Verificați dacă problemele de intrare se potrivesc în vreun fel cu șablonul:

Că secțiunile nu conțin linii din șablonul implicit (de obicei prezent atunci când un utilizator nu s-a deranjat să completeze secțiunea).

Că secțiunile care conțin casete de selectare care trebuie setate ca etichete conțin doar casetele de selectare prezente în șablonul original

Că fiecare secțiune are un număr de casete marcate în intervalul [min, max]

Setați etichetele în funcție de casetele bifate.

Închide automat problemele dacă autorul nu a rezolvat problemele evidențiate de linter într-o anumită perioadă.

Folosirea unei persoane dedicate pentru atribuirea etichetelor este o povară, deoarece cel mai bine este să permiteți utilizatorilor să facă „autoservire”. Utilizatorii pot atribui unele etichete problemelor unui subset restricționat care poate fi realizat printr-o extensie Markdown și casete de selectare.

Cu ce când un utilizator bifează casetele de selectare sau butoane radio botul setează etichetele în consecință.

Dintre caracteristicile care ies în evidență din acest bot care a fost pregătit, sunt următoarele:

  • Acțiunea este controlată de setările YAML și șabloanele Markdown;
  • Un bloc este adăugat la fiecare șablon Markdown care descrie condițiile pentru completarea corectă a formularului și acțiunile dorite;
  • Se adaugă un fișier de configurare cu setări globale;
  • Formularele sunt alcătuite din secțiuni.
  • Există 2 tipuri de secțiuni:
    Text liber: Acțiunea poate verifica dacă utilizatorul s-a deranjat să finalizeze ceva. Semnificația textului nu este verificată automat.
    În casetele de selectare Numărul de steaguri poate fi solicitat și / sau completat, astfel încât 0 {= m1 {= n {= m2 {= numărul total de steaguri din secțiune.
  • Acțiunea verifică dacă casetele se potrivesc cu casetele din șablon. Dacă semnalizatoarele sunt setate corect, acțiunea se poate bloca pe etichetele cu probleme, resp. Casete de selectare.
  • Dacă formularul este completat incorect, acțiunea instruiește utilizatorul cum să îl completeze corect și adaugă o etichetă specială.
  • Dacă formularul nu este corectat într-un anumit timp, acțiunea poate închide problema. Interzicerea, eliminarea și mutarea automată a problemei de către utilizatori nu a fost încă implementată din cauza lipsei unui API oficial pentru acțiunile necesare și problemele cu starea de stocare.
  • Dacă problema este rezolvată, acțiunea elimină marca.
  • Răspunsul la șabloanele de acțiune este, desigur, personalizabil.

În cele din urmă dacă sunteți interesat să aflați mai multe despre asta, puteți verifica detaliile accesând următorul link.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.