Izdajatelj – dejanje GitHub za vsilitev samopostrežnosti uporabnikov repozitorija

V mejah projekta Izdajatelj za GitHub je bil pripravljen bot, ki rešuje težave s prisilno samopostrežbo za uporabnike repozitorija. Na GitHubu lahko najdete repozitorije, katerih edina funkcija je usklajevanje ljudi prek sistema Issue. Nekateri med njimi prosijo tiste, ki pustijo Težavo, da izpolnijo obrazec. Nato pride moderator, preveri, ali je obrazec pravilno izpolnjen, in postavi oznake v skladu z navedenimi v obrazcu (oznake lahko doda le privilegirani uporabnik, če niso navedene v predlogi). Primer takšne skupnosti je odprtokodne-ideje/odprtokodne-ideje.

Moderator ne pride takoj. Zato za potrjevanje obrazcev in izvajanje operacij pripravljeno predstavljen v novicah GitHub. Bot je napisan v Pythonu, vendar ga morate vseeno zagnati prek node.js, saj ima GitHub samo 2 vrsti dejanj - node.js in docker, pri dockerju pa se isti vsebnik najprej naloži kot node.js in vanj naložili drug zabojnik, to je dolgo. Glede na to, da vsebnik z node.js vsebuje python3 in vse ostalo, kar potrebujete, je smiselno odvisnosti enostavno naložiti vanj, saj so majhne.

Značilnosti:

  • Dejanje je nadzorovano z uporabo konfiguracije YAML in predlog Markdown;
  • Vsaki predlogi Markdown je dodan blok, ki opisuje pogoje za pravilno izpolnjevanje obrazca in želena dejanja;
  • Dodana je konfiguracijska datoteka z globalnimi nastavitvami;
  • Obrazci so sestavljeni iz razdelkov. Obstajata dve vrsti razdelkov:
    • Prosto besedilo. Dejanje lahko preveri, ali se je uporabnik potrudil, da bi tam nekaj izpolnil. Pomen besedila se ne preverja samodejno.
    • Potrditvena polja. Zahtevate lahko, da je izpolnjenih n potrditvenih polj, tako da je 0 {= m1 {= n {= m2 {= skupno število potrditvenih polj v razdelku. Dejanje preveri, ali se potrditvena polja ujemajo s potrditvenimi polji v predlogi. Če so zastavice pravilno nastavljene, lahko dejanje izdaji doda oznake. zastave.
  • Če je obrazec nepravilno izpolnjen, dejanje uporabnika pouči, kako ga pravilno izpolniti, in nanj nalepi posebno oznako.
  • Če se obrazec ne popravi v določenem času, lahko dejanje zaključi težavo. Težave s samodejno prepovedjo uporabnikov, brisanjem in premikanjem še niso bile izvedene zaradi pomanjkanja uradnega API-ja za potrebna dejanja in težav s shranjevanjem stanja.
  • Če je težava odpravljena, dejanje odstrani oznako.
  • Predloge za odziv na akcijo so seveda prilagodljive.

Vir: opennet.ru

Dodaj komentar