GitHub ha lanciato un bot per la moderazione automatica dei problemi

Nell'ambito del progetto dell'Emittente, è stato preparato un bot per GitHub che risolve automaticamente i compiti di moderazione il sistema di tracciamento su GitHub. Su GitHub puoi trovare repository la cui unica funzione è quella di coordinare le persone attraverso il sistema Issue.

In alcuni di loro, quando si esce dal problema, viene richiesto di compilare un modulo, poi ho vistoavere un moderatore, verificare la correttezza della compilazione del modulo e postare i tag secondo quelli specificati nel modulo (i tag possono essere appesi solo da un utente privilegiato se non sono specificati nel modello). Un esempio di tale comunità è la comunità Open Source Ideas.

Il moderatore non viene immediatamente. Perciò, È stata preparata un'azione GitHub presente nelle notizie per convalidare i moduli ed eseguire operazioni.

Il bot è scritto in Python, ma deve ancora essere eseguito tramite node.js, poiché GitHub ha solo 2 tipi di azioni: node.js e docker e per docker, prima viene caricato lo stesso contenitore di node.js e viene caricato nell'altro contenitore che È lungo.

Considerando che python3 e tutto ciò di cui hai bisogno sono nel contenitore con node.js, è razionale caricare solo le dipendenze in quanto sono piccole.

Questa è un'azione GitHub con 3 funzioni collegate per la gestione dei problemi.

Controlla se i problemi in arrivo corrispondono in qualche modo al modello:

Che le sezioni non contengano righe del modello predefinito (solitamente presente quando un utente non si è preso la briga di completare la sezione).

Che le sezioni contenenti caselle di spunta da impostare come etichette contengano solo le caselle di spunta presenti nel modello originale

Che ogni sezione abbia un numero di caselle contrassegnate nell'intervallo [min, max]

Imposta le etichette in base alle caselle selezionate.

Chiude automaticamente i problemi se l'autore non ha risolto i problemi evidenziati dal linter entro un certo periodo di tempo.

Utilizzare una persona dedicata per assegnare le etichette è un peso, poiché è meglio consentire agli utenti di fare "self-service". Gli utenti possono assegnare alcune etichette ai problemi di un sottoinsieme limitato che può essere fatto tramite un'estensione Markdown e delle caselle di controllo.

Con esso quando un utente seleziona le caselle di controllo o pulsanti di opzione il bot imposta le etichette di conseguenza.

Delle caratteristiche che risaltano di questo bot che è stato preparato, sono i seguenti:

  • L'azione è controllata dalle impostazioni YAML e i modelli Markdown;
  • Un blocco viene aggiunto a ogni modello Markdown che descrive le condizioni per la corretta compilazione del modulo e le azioni desiderate;
  • Viene aggiunto un file di configurazione con le impostazioni globali;
  • I moduli sono composti da sezioni.
  • Esistono 2 tipi di sezioni:
    Testo libero: L'azione può verificare che l'utente si sia preso la briga di completare qualcosa. Il significato del testo non viene verificato automaticamente.
    Nelle caselle di controllo n numero di flag può essere richiesto e / o completato, in modo che 0 {= m1 {= n {= m2 {= numero totale di flag nella sezione.
  • L'azione verifica che le caselle corrispondano alle caselle nel modello. Se i flag sono impostati correttamente, l'azione potrebbe bloccarsi sui tag del problema, risp. Caselle di controllo.
  • Se il modulo viene compilato in modo errato, l'azione indica all'utente come completarlo correttamente e aggiunge un tag speciale.
  • Se il modulo non viene corretto entro un certo tempo, l'azione potrebbe chiudere il problema. Il divieto automatico degli utenti, la rimozione e il trasferimento del problema devono ancora essere implementati a causa della mancanza di un'API ufficiale per le azioni necessarie e i problemi con lo stato di archiviazione.
  • Se il problema viene risolto, l'azione rimuove il segno.
  • La risposta ai modelli di azione è, ovviamente, personalizzabile.

Infine se sei interessato a saperne di più, puoi controllare i dettagli andando a seguente link


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.