Vydavatel – akce GitHubu k vynucení samoobsluhy uživatelů úložiště

V hranicích projektu Emitent pro GitHub byl připraven bot, který řeší problémy s nucenou samoobsluhou pro uživatele repozitáře. Na GitHubu můžete najít úložiště, jejichž jedinou funkcí je koordinovat lidi prostřednictvím systému Issue. Někteří z nich žádají ty, kteří zanechávají problém, aby vyplnili formulář. Poté přijde moderátor, zkontroluje, zda je formulář správně vyplněn, a umístí značky v souladu s těmi, které jsou uvedeny ve formuláři (štítky může přidat pouze privilegovaný uživatel, pokud nejsou uvedeny v šabloně). Příkladem takové komunity je open-source-ideas/open-source-ideas.

Moderátor nedorazí hned. Proto ověřovat formuláře a provádět operace připravený uvedené ve zprávách GitHubu. Bot je napsán 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 a pro docker se nejprve načte stejný kontejner jako node.js a naložit do něj další kontejner, to je dlouhá doba. Vzhledem k tomu, že kontejner s node.js obsahuje python3 a vše ostatní, co potřebujete, je rozumné do něj jednoduše načíst závislosti, protože jsou malé.

Vlastnosti:

  • Akce je řízena pomocí YAML config a šablon Markdown;
  • Ke každé šabloně Markdown je přidán blok, který popisuje podmínky pro správné vyplnění formuláře a požadované akce;
  • Je přidán konfigurační soubor s globálním nastavením;
  • Formuláře se skládají z sekcí. Existují 2 typy sekcí:
    • Volný text. Akce může zkontrolovat, že se uživatel obtěžoval tam něco vyplnit. Význam textu není automaticky kontrolován.
    • Zaškrtávací políčka. Můžete vyžadovat vyplnění n zaškrtávacích políček tak, aby 0 {= m1 {= n {= m2 {= celkový počet zaškrtávacích políček v sekci. Akce zkontroluje, zda se zaškrtávací políčka shodují se zaškrtávacími políčky v šabloně. Pokud jsou příznaky nastaveny správně, lze do akce přidat značky pro vydání, resp. vlajky.
  • Pokud je formulář špatně vyplněný, akce dá uživateli pokyn, jak jej správně vyplnit, a umístí na něj speciální štítek.
  • Pokud není formulář do určité doby opraven, může akce problém uzavřít. Automatické zakazování uživatelů, problémy s mazáním a přesouváním zatím nebylo implementováno z důvodu chybějícího oficiálního API pro potřebné úkony a problémů se stavovým úložištěm.
  • Pokud je problém vyřešen, akce štítek odstraní.
  • Šablony odpovědí na akce jsou samozřejmě přizpůsobitelné.

Zdroj: opennet.ru

Přidat komentář