Emissor: acció de GitHub per forçar l'autoservei dels usuaris del repositori

En els límits del projecte Emissor s'ha preparat un bot per a GitHub, solucionant problemes d'autoservei forçat per als usuaris del repositori. A GitHub podeu trobar dipòsits l'única funció dels quals és coordinar persones mitjançant el sistema Issue. Alguns d'ells demanen als que deixen un número que omplin un formulari. Aleshores ve un moderador, comprova que el formulari s'hagi emplenat correctament i col·loca les etiquetes d'acord amb les especificades al formulari (les etiquetes només les pot afegir un usuari amb privilegis si no s'especifiquen a la plantilla). Un exemple d'aquesta comunitat és idees de codi obert/idees de codi obert.

El moderador no arriba immediatament. Per tant, per validar formularis i realitzar operacions preparat apareix a les notícies de GitHub. El bot està escrit en Python, però encara l'heu de llançar a través de node.js, ja que GitHub només té 2 tipus d'accions: node.js i docker, i per a docker, primer es carrega el mateix contenidor com a node.js i carregat-hi un altre contenidor, això és molt de temps. Tenint en compte que el contenidor amb node.js conté python3 i tot el que necessiteu, és racional carregar-hi simplement les dependències, ja que són petites.

Característiques:

  • L'acció es controla mitjançant la configuració de YAML i les plantilles Markdown;
  • A cada plantilla de Markdown s'afegeix un bloc que descriu les condicions per omplir correctament el formulari i les accions desitjades;
  • S'afegeix un fitxer de configuració amb paràmetres globals;
  • Els formularis consten de seccions. Hi ha 2 tipus de seccions:
    • Text lliure. L'acció pot comprovar que l'usuari s'ha molestat a omplir alguna cosa allà. El significat del text no es verifica automàticament.
    • Caselles de verificació. Podeu exigir que s'omplin n caselles de manera que 0 {= m1 {= n {= m2 {= nombre total de caselles de selecció a la secció. L'acció comprova que les caselles de selecció coincideixen amb les de la plantilla. Si els indicadors s'estableixen correctament, l'acció pot afegir etiquetes a l'emissió, respectivament. banderes.
  • Si el formulari s'emplena incorrectament, l'acció indica a l'usuari com omplir-lo correctament i li posa una etiqueta especial.
  • Si el formulari no es corregeix en un temps determinat, l'acció pot tancar el problema. La prohibició automàtica d'usuaris, problemes d'eliminació i de moviment encara no s'ha implementat a causa de la manca d'una API oficial per a les accions necessàries i problemes amb l'emmagatzematge de l'estat.
  • Si el problema es resol, l'acció elimina l'etiqueta.
  • Les plantilles de resposta d'acció són, per descomptat, personalitzables.

Font: opennet.ru

Afegeix comentari