GitHub lancerede en bot til automatisk problem moderering

Som en del af udstederprojektet der er udarbejdet en bot til GitHub, der automatisk løser opgaverne med moderering sporingssystemet på GitHub. På GitHub kan du finde arkiver, hvis eneste funktion er at koordinere folk gennem Issue-systemet.

I nogle af dem, når du afslutter udgave, bliver du bedt om at udfylde en formularså så jeghave en moderator, kontroller rigtigheden af ​​at udfylde formularen og post-tags i henhold til dem, der er angivet i formularen (tags kan kun hænges af en privilegeret bruger, hvis de ikke er specificeret i skabelonen). Et eksempel på et sådant samfund er Open Source Ideas-samfundet.

Moderatoren kommer ikke med det samme. Derfor, En GitHub-handling, der er omtalt i nyhederne, er forberedt på at validere formularer og udføre operationer.

Boten er skrevet på Python, men det skal stadig køres gennem node.js, da GitHub kun har to typer handlinger: node.js og docker, og for docker, først er den samme container som node.js indlæst, og den indlæses i den anden container, Den er lang.

I betragtning af at python3 og alt hvad du har brug for er i containeren med node.js, er det rationelt at bare indlæse afhængighederne i det, da de er små.

Dette er en GitHub-handling med 3 funktioner forbundet til problemadministration.

Kontroller, om indgående problemer matcher skabelonen på nogen måde:

At sektionerne ikke indeholder linjer fra standardskabelonen (normalt til stede, når en bruger ikke har gidet at færdiggøre sektionen).

At sektionerne, der indeholder afkrydsningsfelter, der skal indstilles som etiketter, kun indeholder afkrydsningsfelterne i den originale skabelon

At hver sektion har et antal felter markeret i området [min, max]

Indstil etiketter efter de afkrydsede felter.

Lukker automatisk problemer, hvis forfatteren ikke har løst de problemer, der er fremhævet af linteren inden for en bestemt tidsramme.

Brug af en dedikeret person til at tildele etiketter er en byrde, da det er bedst at lade brugerne udføre "selvbetjening." Brugere kan tildele nogle etiketter til problemerne med et begrænset undersæt, der kan gøres via en Markdown-udvidelse og afkrydsningsfelter.

Med det når en bruger markerer afkrydsningsfelterne eller radioknapper bot indstiller etiketterne i overensstemmelse hermed.

Af de egenskaber, der skiller sig ud af denne bot, der er forberedt, er følgende:

  • Handlingen styres af YAML-indstillinger og Markdown-skabelonerne;
  • En blok føjes til hver Markdown-skabelon der beskriver betingelserne for korrekt udfyldning af formularen og de ønskede handlinger;
  • En konfigurationsfil med globale indstillinger tilføjes;
  • Formularerne består af sektioner.
  • Der er to typer sektioner:
    Fritekst: Handlingen kan kontrollere, at brugeren har gidet at gennemføre noget. Betydningen af ​​teksten verificeres ikke automatisk.
    I afkrydsningsfelterne n antal flag kan anmodes om og / eller udfyldes, så 0 {= m1 {= n {= m2 {= samlet antal flag i sektionen.
  • Handlingen bekræfter, at felterne matcher felterne i skabelonen. Hvis flagene er indstillet korrekt, kan handlingen muligvis hænge på problemkoder, resp. Afkrydsningsfelter.
  • Hvis formularen udfyldes forkert, instruerer handlingen brugeren i at udfylde den korrekt og tilføjer et specielt tag.
  • Hvis formularen ikke rettes inden for en bestemt tid, kan handlingen muligvis lukke problemet. Automatisk brugerforbud, fjernelse og flytning af problemet er endnu ikke implementeret på grund af manglen på en officiel API til nødvendige handlinger og problemer med lagertilstanden.
  • Hvis problemet er løst, fjerner handlingen mærket.
  • Svaret på handlingsskabeloner kan selvfølgelig tilpasses.

Endelig hvis du er interesseret i at vide mere om det, kan du kontrollere detaljerne ved at gå til følgende link.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.