Emitent - Acțiune GitHub pentru a forța autoservirea pentru utilizatorii depozitului

În limitele proiectului emitent a fost pregătit un bot pentru GitHub, rezolvând problemele de autoservire forțată pentru utilizatorii depozitului. Pe GitHub puteți găsi depozite a căror singură funcție este de a coordona oamenii prin sistemul Issue. Unii dintre ei le cer celor care părăsesc o problemă să completeze un formular. Apoi vine un moderator, verifică dacă formularul este completat corect și plasează etichete în conformitate cu cele specificate în formular (etichetele pot fi adăugate doar de un utilizator privilegiat dacă nu sunt specificate în șablon). Un exemplu de astfel de comunitate este idei-deschise-sursă/idei-deschise-sursă.

Moderatorul nu vine imediat. Prin urmare, pentru a valida formulare și a efectua operațiuni pregătit prezentate în știrile GitHub. Botul este scris în Python, dar tot trebuie să-l lansați prin node.js, deoarece GitHub are doar 2 tipuri de acțiuni - node.js și docker, iar pentru docker, același container este mai întâi încărcat ca node.js și încărcat în el un alt container, asta e mult timp. Având în vedere că containerul cu node.js conține python3 și tot ce aveți nevoie, este rațional să încărcați pur și simplu dependențele în el, deoarece acestea sunt mici.

Caracteristici:

  • Acțiunea este controlată folosind configurația YAML și șabloanele Markdown;
  • La fiecare șablon Markdown este adăugat un bloc 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 constau din secțiuni. Există 2 tipuri de secțiuni:
    • Text liber. Acțiunea poate verifica dacă utilizatorul sa obosit să completeze ceva acolo. Sensul textului nu este verificat automat.
    • Casete de selectare. Puteți solicita să fie completate n casete de selectare astfel încât 0 {= m1 {= n {= m2 {= numărul total de casete de selectare din secțiune. Acțiunea verifică dacă casetele de selectare se potrivesc cu casetele din șablon. Dacă steagurile sunt setate corect, acțiunea poate adăuga etichete la emisiune, respectiv. steaguri.
  • Dacă formularul este completat incorect, acțiunea indică utilizatorului cum să-l completeze corect și îi pune o etichetă specială.
  • Dacă formularul nu este corectat într-un anumit timp, atunci acțiunea poate închide problema. Interzicerea automată a utilizatorilor, problemele de ștergere și mutare nu a fost încă implementată din cauza lipsei unui API oficial pentru acțiunile necesare și probleme cu stocarea de stat.
  • Dacă problema este rezolvată, acțiunea elimină eticheta.
  • Șabloanele de răspuns la acțiune sunt, desigur, personalizabile.

Sursa: opennet.ru

Adauga un comentariu