Väljaandja – GitHubi toiming hoidla kasutajate iseteeninduse sundimiseks

Projekti piirides Emitent GitHubi jaoks on ette valmistatud robot, mis lahendab hoidlate kasutajate sunnitud iseteeninduse probleeme. GitHubist leiate hoidlaid, mille ainus funktsioon on inimeste koordineerimine Issue süsteemi kaudu. Mõned neist paluvad probleemi lahkujatel täita vorm. Seejärel tuleb moderaator, kes kontrollib, kas vorm on õigesti täidetud ja paneb sildid vastavalt vormis määratule (silte saab lisada ainult privilegeeritud kasutaja, kui need pole mallis määratud). Sellise kogukonna näide on avatud lähtekoodiga ideed/avatud lähtekoodiga ideed.

Moderaator ei saabu kohe. Seetõttu vormide kinnitamiseks ja toimingute tegemiseks ette valmistatud esile tõstetud GitHubi uudistes. Bot on kirjutatud Pythonis, kuid peate selle siiski käivitama läbi node.js, kuna GitHubil on ainult kahte tüüpi toiminguid - node.js ja docker ning dockeri jaoks laaditakse sama konteiner esmalt node.js-ina ja laaditi sellesse teise konteinerisse, see on pikk aeg. Arvestades, et node.js-iga konteiner sisaldab python2 ja kõike muud, mida vajate, on mõistlik sõltuvused lihtsalt sinna laadida, kuna need on väikesed.

Omadused:

  • Toimingut juhitakse YAML-i konfiguratsiooni ja Markdowni mallide abil;
  • Igale Markdowni mallile lisatakse plokk, mis kirjeldab vormi korrektse täitmise tingimusi ja soovitud toiminguid;
  • Lisatakse globaalsete seadistustega konfiguratsioonifail;
  • Vormid koosnevad osadest. Sektsioone on kahte tüüpi:
    • Vaba tekst. Toiming võib kontrollida, kas kasutaja viitsis sinna midagi täita. Teksti tähendust automaatselt ei kontrollita.
    • Märkeruudud. Võite nõuda n märkeruudu täitmist nii, et 0 {= m1 {= n {= m2 {= jaotises olevate märkeruutude koguarv. Toiming kontrollib, kas märkeruudud vastavad malli märkeruutudele. Kui lipud on õigesti seatud, võib toiming lisada väljastamiseks märgendeid. lipud.
  • Kui vorm on valesti täidetud, juhendab tegevus kasutajat, kuidas seda õigesti täita, ja lisab sellele spetsiaalse sildi.
  • Kui vormi teatud aja jooksul ei parandata, võib toiming probleemi sulgeda. Kasutajate automaatset keelamist, kustutamist ja probleemide teisaldamist pole veel rakendatud, kuna vajalike toimingute jaoks puudub ametlik API ja probleemid oleku salvestamisega.
  • Kui probleem laheneb, eemaldatakse silt.
  • Tegevuse vastuse mallid on loomulikult kohandatavad.

Allikas: opennet.ru

Lisa kommentaar