Issuer — GitHub akce pro vynucení samoobsluhy uživatelů repozitáře

V rámci projektu Vydavatel byl připraven bot pro GitHub, který řeší úkoly pro povinné samoobsluhy uživatelů repozitáře. Na GitHubu lze nalézt repozitáře, jejichž jedinou funkcí je koordinace lidí prostřednictvím systému Issue. V některých z nich jsou uživatelé vyzváni k vyplnění formuláře. Poté přijde moderátor, zkontroluje správnost vyplnění formuláře a přidá štítky podle uvedených v formuláři (štítky může přidávat pouze privilegovaný uživatel, pokud nejsou určeny v šabloně). Příklad takové komunity — open-source-ideas/open-source-ideas.

Moderátor nepřichází ihned. Proto pro kontrolu formulářů a provádění operací připraveno je představena v novinkách GitHub akce. Bot je napsaný v Pythonu, ale stále ho musíte spustit přes node.js, protože GitHub má pouze 2 typy akcí — node.js a docker, přičemž pro docker se nejprve načte stejný kontejner, kde je také node.js, a do něj se načte ještě jeden kontejner, což trvá dlouho. Vzhledem k tomu, že v kontejneru s node.js je python3 a všechno ostatní potřebné, je rozumné jednoduše načíst závislosti do něj, zejména protože jsou malé.

Vlastnosti:

  • Akce je řízena pomocí YAML konfiguračního souboru a Markdown šablon;
  • Do každé Markdown šablony se přidává blok, který popisuje podmínky správného vyplnění formuláře a požadované akce;
  • Přidává se konfigurační soubor s globálními nastaveními;
  • Formuláře se skládají ze sekcí. Existují 2 typy sekcí:
    • Volný text. Akce může zkontrolovat, že uživatel se snažil něco vyplnit. Smysluplnost textu se automaticky nekontroluje.
    • Checkboxy. Lze požadovat vyplnění n checkboxů, tak že 0 {= m1 {= n {= m2 {= celkový počet checkboxů v sekci. Akce kontroluje, že checkboxy odpovídají checkboxům v šabloně. Pokud jsou checkboxy zadány správně, akce může přidat na issue štítky podle checkboxů.
  • Pokud je formulář vyplněn nesprávně, akce instruuje uživatele, jak ho správně vyplnit a přidá zvláštní štítek.
  • Pokud formulář není opraven během určité doby, akce může uzavřít issue. Automatické blokování uživatelů, odstranění a přesun issue zatím není implementováno kvůli nedostatku oficiálního API pro potřebné akce a problémům se správou stavu.
  • Pokud je problém vyřešen, akce odstraňuje štítek.
  • Šablony odpovědí na akce jsou samozřejmě nastavitelné.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster