Issuer — GitHub akcia na nútené samoobsluženie používateľov repozitára

V rámci projektu Vydavateľ bol pripravený bot pre GitHub, ktorý rieši úlohy na nútené samoobsluhovanie používateľov repozitára. Na GitHub-e sa dajú nájsť repozitáre, ktorých jedinou funkciou je koordinácia ľudí prostredníctvom systému Issue. V niektorých z nich sa žiada používateľov, aby vyplnili formulár. Potom príde moderátor, skontroluje správnosť vyplnenia formulára a priradí štítky v súlade s uvedenými v formulári (štítky môže priradiť iba privilégiovaný používateľ, ak nie sú zadané v šablóne). Príkladom takejto komunity je open-source-ideas/open-source-ideas.

Moderátor neprichádza okamžite. Preto na kontrolu formulárov a vykonávanie operácií pripravených je predstavená v správe akcia na GitHub-e. Bot je napísaný v Pythone, ale je potrebné ho spustiť cez node.js, pretože GitHub má len 2 typy akcií — node.js a docker, pričom pre docker sa najskôr načíta ten istý kontajner, kde je aj node.js, a do neho sa načíta ešte jeden kontajner, čo trvá dlhšie. Vzhľadom na to, že v kontajneri s node.js už je python3 a všetko ostatné potrebné, je rozumné jednoducho načítať závislosti, keďže nie sú veľké.

Funkcie:

  • Akcia sa riadi pomocou YAML konfigurácie a Markdown šablón;
  • Do každej Markdown šablóny sa pridáva blok, ktorý popisuje podmienky správneho vyplnenia formulára a požadované akcie;
  • Pridáva sa konfiguračný súbor s globálnymi nastaveniami;
  • Formuláre pozostávajú z sekcií. Existujú 2 typy sekcií:
    • Voľný text. Akcia môže skontrolovať, že používateľ sa snažil niečo vyplniť. Význam textu sa automaticky nekontroluje.
    • Checkboxy. Môže sa požadovať, aby sa vyplnilo n checkboxov, tak, že 0 {= m1 {= n {= m2 {= celkový počet checkboxov v sekcii. Akcia kontroluje, či checkboxy zodpovedajú checkboxom v šablóne. Ak sú checkboxy zadané správne, akcia môže priradiť k issue štítky, ktoré zodpovedajú checkboxom.
  • Ak je formulár vyplnený nesprávne, akcia inštruuje používateľa, ako ho správne vyplniť, a priradí špeciálnu nálepku.
  • Ak nie je formulár opravený počas určitého času, akcia môže uzavrieť issue. Automatický ban používateľov, mazanie a presúvanie issue zatiaľ nebolo implementované v súvislosti s absenciou oficiálneho API pre potrebné akcie a problémami so zaznamenávaním stavu.
  • Ak je problém vyriešený, akcia odstráni nálepku.
  • Šablóny odpovedí akcií sú, samozrejme, prispôsobiteľné.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster