Në kuadër të projektit është përgatitur një bot për GitHub, e cila zgjidh problemet për vetë-shërbimin e përdoruesve të depozitës. Në GitHub mund të gjeni depozita, funksioni i vetëm i të cilave është koordinimi i njerëzve nëpërmjet sistemit Issue. Në disa nga ato, ata që lënë Issue-u kërkohet të plotësojnë një formular. Më pas vjen një moderator, kontrollon saktësinë e plotësimit të formularit dhe vendos etiketat sipas atyre që janë treguar në formular (etiketat mund të vendosen vetëm nga një përdorues me privilegje, nëse ato nuk janë përcaktuar në model). Një shembull i tillë i komunitetit është .
Moderatorët nuk vijnë menjëherë. Prandaj, për kontrollimin e formave dhe për kryerjen e operacioneve veprimi i prezantuar në lajm. Boti është shkruar në Python, por duhet ta nisim gjithsesi përmes node.js, pasi GitHub ka vetëm 2 lloje veprimesh — node.js dhe docker, për të cilin, fillimisht ngarkohet i njëjti kontejner, ku është edhe node.js, dhe në të ngarkohet një kontejner tjetër, që zgjas. Duke marrë parasysh se në kontejnerin me node.js janë python3 dhe gjithë gjërat e tjera të nevojshme, është më e arsyeshme thjesht të ngarkohet në të varësitë, për fat, ato janë të vogla.
Tiparet:
- Veprimi menaxhohet përmes YAML-config dhe modele Markdown;
- Në çdo model Markdown shtohet një bllok që përshkruan kushtet për plotësimin e saktë të formularit dhe veprimet e dëshiruara;
- Shtohet një skedar konfiguratimi me cilësime globale;
- Formularët përbëhen nga seksione. Ka 2 lloje seksionesh:
- Tekst i lirë. Veprimi mund të kontrollojë nëse përdoruesi është përpjekur të plotësojë diçka aty. Kuptueshmëria e tekstit nuk kontrollohet automatikisht.
- Checkbox (kutia e kontrollit). Mund të kërkohet që të plotësohen n kutia, të tilla që 0 {= m1 {= n {= m2 {= numri total i kutive në seksion. Veprimi kontrollon nëse kutitë e kontrollit përputhen me kutitë e kontrollit në model. Nëse kutitë janë të vendosura siç duhet, veprimi mund të vendosë etiketat për issue, përkatëse me kutitë e kontrollit.
- Nëse formulari është plotësuar gabim, veprimi udhëzon përdoruesin se si ta plotësojë siç duhet dhe vendos një etiketë speciale.
- Nëse formulari nuk është korrigjuar brenda një periudhe të caktuar kohe, veprimi mund të mbyllë issue. Bllokimi automatik i përdoruesve, fshirja dhe zhvendosja e issue për momentin nuk janë realitet në lidhje me mungesën e API-së zyrtare për veprimet e nevojshme dhe problemet me ruajtjen e gjendjes.
- Nëse problemi është zgjidhur, veprimi heq etiketën.
- Natyrisht, modellet e përgjigjeve janë të personalizueshme.
Burimi: opennet.ru
