V rámci projektu Emitent pro GitHub byl připraven robot, který řeší úlohy moderování automaticky sledovací systém na GitHubu. Na GitHubu najdete úložiště, jejichž jedinou funkcí je koordinovat lidi prostřednictvím systému Issue.
V některých z nich při ukončení vydání budete vyzváni k vyplnění formuláře, pak jsem vidělmít moderátora, zkontrolovat správnost vyplňování formuláře a přidávat značky podle těch, které jsou uvedeny ve formuláři (tagy může zavěsit pouze privilegovaný uživatel, pokud nejsou uvedeny v šabloně). Příkladem takové komunity je komunita Open Source Ideas.
Moderátor nepřijde okamžitě. Proto, K ověření formulářů a provádění operací byla připravena akce GitHub uvedená ve zprávách.
Robot je napsán v Pythonu, ale stále je třeba jej spustit přes node.js, protože GitHub má pouze 2 typy akcí: node.js a docker a pro docker je nejprve načten stejný kontejner jako node.js a načten do druhého kontejneru, který je dlouho.
Vzhledem k tomu, že python3 a vše, co potřebujete, je v kontejneru s node.js, je racionální do něj pouze načíst závislosti, protože jsou malé.
Toto je akce GitHub se 3 funkcemi spojenými pro správu problémů.
Zkontrolujte, zda se příchozí problémy nějakým způsobem shodují se šablonou:
Že sekce neobsahují řádky z výchozí šablony (obvykle se vyskytují, když se uživatel neobtěžoval s dokončením sekce).
Že oddíly obsahující zaškrtávací políčka, která mají být nastavena jako popisky, obsahují pouze zaškrtávací políčka přítomná v původní šabloně
Že každá sekce má počet polí označených v rozsahu [min, max]
Nastavte štítky podle zaškrtnutých políček.
Automaticky zavře problémy, pokud autor do určité doby neopravil problémy zvýrazněné linterem.
Používání vyhrazené osoby k přiřazování štítků je zátěží, protože je nejlepší umožnit uživatelům provádět „samoobsluhu“. Uživatelé mohou přiřadit některé štítky k problémům omezené podmnožiny, které lze provést pomocí rozšíření Markdown a zaškrtávacích políček.
S tím když uživatel zaškrtne políčka nebo přepínače robot podle toho nastaví štítky.
Z charakteristik, které vynikají tohoto robota, který byl připraven, jsou následující:
- Akce je řízena nastavením YAML a šablony Markdown;
- Do každé šablony Markdown je přidán blok který popisuje podmínky pro správné vyplnění formuláře a požadované akce;
- Byl přidán konfigurační soubor s globálním nastavením;
- Formuláře jsou složeny z oddílů.
- Existují 2 typy sekcí:
Volný text: Akce může ověřit, že se uživatel obtěžoval něco dokončit. Význam textu není automaticky ověřen.
Zaškrtávací políčka Je možné požadovat a / nebo dokončit n počet příznaků, takže 0 {= m1 {= n {= m2 {= celkový počet příznaků v sekci. - Akce ověří, zda se pole shodují s poli v šabloně. Pokud jsou příznaky nastaveny správně, akce může viset na problémových značkách, resp. Zaškrtávací políčka.
- Pokud je formulář vyplněn nesprávně, akce dá uživateli pokyny, jak jej správně vyplnit, a přidá speciální značku.
- Pokud se formulář do určité doby neopraví, může akce problém vyřešit. Automatický zákaz uživatele, odebrání a přemístění problému je ještě třeba implementovat kvůli nedostatku oficiálního API pro nezbytné akce a problémy se stavem úložiště.
- Pokud je problém vyřešen, akce odstraní značku.
- Reakce na šablony akcí jsou samozřejmě přizpůsobitelné.
Konečně pokud máte zájem o tom vědět více, můžete zkontrolovat podrobnosti přechodem na následující odkaz.