Në kuadër të projektit është zhvilluar një bot për GitHub, e cila zgjidh probleme në lidhje me forcimin e vetë-shërbimit nga përdoruesit e depozitave. Në GitHub mund të hasen depozita, funksioni i të cilave është koordinimi i njerëzve përmes sistemit Issue. Në disa prej tyre, atyre që lënë Issue i kërkohet të plotësojnë një formular. Më pas vjen një moderator, kontrollon saktësinë e plotësimit të formularit dhe vendos etiketat sipas të dhënave të dhëna në formular (etiketat mund të vendosen vetëm nga një përdorues me privilegje, nëse ato nuk janë përcaktuar në shkablon). Një shembull i tillë komuniteti është - .
Moderatorët nuk vijnë menjëherë. Prandaj, për kontrollimin e formularëve dhe kryerjen e operacioneve është paraqitur veprimi në lajme i GitHub. Boti është shkruar në Python, por ende duhet ta ekzekutojmë atë përmes node.js, pasi GitHub ka vetëm 2 lloje veprimesh - node.js dhe docker, dhe për docker, fillimisht ngarkohet ai i njëjtë kontejner, ku ndodhet edhe node.js, dhe në të ngarkohet një kontejner tjetër, që zgjat. Duke marrë parasysh që në kontejnerin me node.js ka python3 dhe gjithçka tjetër e nevojshme, është racional thjesht të ngarkohet varësitë aty, meqë ato janë të vogla.
Karakteristikat:
- Veprimi menaxhohet përmes konfigurimit YAML dhe modeleve Markdown;
- Në secilën model Markdown shtohet një blok që përshkruan kushtet për plotësimin e saktë të formës dhe veprimet e dëshiruara;
- Shtohet një skedar konfigurimi me cilësimet globale;
- Format përbëhen nga seksione. Ekzistojnë 2 lloje seksionesh:
- Tekst i lirë. Veprimi mund të kontrollojë që përdoruesi e ka përgatitur diçka atje. Kuptueshmëria e tekstit nuk kontrollohet automatikisht.
- Checkbox (fletëz). Mund të kërkohet që të plotësohen n kutiza, në mënyrë që 0 {= m1 {= n {= m2 {= numri total i kutizave në seksion. Veprimi kontrollon që kutizat përputhen me kutizat në model. Nëse kutizat janë vendosur saktë, veprimi mund t'i vendosë etiketa në çështje, përkatësisht kutizave.
- Nëse forma është plotësuar gabimisht, veprimi i udhëzon përdoruesin se si ta plotësojë atë saktë dhe vendos një etiketë speciale.
- Nëse forma nuk korrigjohet brenda një periudhe të caktuar, veprimi mund ta mbyllë çështjen. Bllokimi automatik i përdoruesve, fshirja dhe zhvendosja e çështjeve ende nuk është realizuar për shkak të mungesës së një API zyrtare për veprimet e nevojshme dhe problemeve me ruajtjen e gjendjes.
- Nëse problemi është zgjidhur, atëherë veprimi eliminon etiketën.
- Template për përgjigjet e veprimit, natyrisht, janë të personalizueshme.
Burimi: opennet.ru
