Projektis on koostatud GitHubi bot, mis lahendab ĂŒlesandeid, mis sunnivad kasutajaid iseteenindusele registris. GitHubis vĂ”ib leida registreid, mille ainus funktsioon on inimeste koordineerimine Issue sĂŒsteemi kaudu. MĂ”nes neist pakutakse Issue jĂ€tjatele vĂ€lja tĂ€ita vorm. Siis tuleb moderaator, kontrollib vormi tĂ€itmise Ă”igsust ja lisab sildid vastavalt vormis esitatud infole (silde vĂ”ib panna ainult privilegeeritud kasutaja, kui need pole mallis ette antud). NĂ€iteks selline kogukond â .
Moderaator ei tule kohe. SeetĂ”ttu vormide kontrollimise ja toimingute tegemise jaoks on esitatud uudises GitHubi tegevus. Bot on kirjutatud Pythonis, kuid tuleb siiski kĂ€ivitada lĂ€bi node.js, kuna GitHubil on vaid 2 tĂŒĂŒpi tegevusi â node.js ja docker, ja docker laadib esmalt sama konteineri, kus on ka node.js, ning sinna laaditakse veel ĂŒks konteiner, mis on aeglane. Arvestades, et node.js konteineris on python3 ja kĂ”ik muu vajalik juba olemas, on mĂ”istlik lihtsalt laadida sinna sĂ”ltuvused, kuna need on vĂ€ikesed.
suurendatud ressursside piirangud;
- Tegevust juhitakse YAML-konfiguratsiooni ja Markdown-mallide kaudu;
- Iga Markdown-malli lisatakse plokk, mis kirjeldab vormi Ôige tÀitmise tingimusi ja soovitud tegevusi;
- Lisatakse konfiguratsioonifail globaalsete seadistustega;
- Vormid koosnevad sektsioonidest. On 2 tĂŒĂŒpi sektsioone:
- Vaba tekst. Tegevus vÔib kontrollida, et kasutaja on viitsinud sinna midagi kirjutada. Teksti mÔistetavust ei kontrollita automaatselt.
- Ruudustikud (checkbox). VÔib nÔuda n ruudustiku tÀitmist, kus 0 {= m1 {= n {= m2 {= sektsiooni ruudustike koguarv. Tegevus kontrollib, et ruudustikud vastavad malli ruudustikele. Kui ruudustikud on Ôigesti mÀÀratud, vÔib tegevus issue'ile lisada sildid, mis vastavad ruudustikele.
- Kui vorm on valesti tÀidetud, siis tegevus juhendab kasutajat, kuidas seda Ôigesti tÀita ja lisab spetsiaalse sildi.
- Kui vormi ei muudetud teatud aja jooksul, siis vÔib tegevus issue sulgeda. Automaatset kasutajate banni, issue'de kustutamist ja liigutamist pole veel realiseeritud seoses vajalike toimingute ametliku API puudumise ja oleku hoidmise probleemidega.
- Kui probleem on lahendatud, siis tegevus eemaldab sildi.
- Mugavuste mallid on loomulikult kohandatavad.
Allikas: opennet.ru
