GitHub hat einen Bot zur automatischen Problemmoderation gestartet

Im Rahmen des Emittentenprojekts Für GitHub wurde ein Bot vorbereitet, der die Aufgaben der automatischen Moderation löst das Tracking-System auf GitHub. Auf GitHub finden Sie Repositorys, deren einzige Funktion darin besteht, Personen über das Issue-System zu koordinieren.

In einigen von ihnen Beim Beenden von Issue werden Sie aufgefordert, ein Formular auszufüllen, dann sah ichHaben Sie einen Moderator, überprüfen Sie die Richtigkeit des Ausfüllens des Formulars und veröffentlichen Sie Tags gemäß den im Formular angegebenen (Tags können nur von einem privilegierten Benutzer aufgehängt werden, wenn sie nicht in der Vorlage angegeben sind). Ein Beispiel für eine solche Community ist die Open Source Ideas-Community.

Der Moderator kommt nicht sofort. Deshalb, Eine in den Nachrichten enthaltene GitHub-Aktion wurde vorbereitet, um Formulare zu validieren und Vorgänge auszuführen.

Der Bot ist in Python geschrieben, aber es muss immer noch über node.js ausgeführt werden, da GitHub nur zwei Arten von Aktionen hat: node.js und Docker und für Docker wird zuerst derselbe Container wie node.js geladen und in den anderen Container geladen, der Es ist lang.

Angesichts der Tatsache, dass sich Python3 und alles, was Sie benötigen, im Container mit node.js befindet, ist es sinnvoll, die Abhängigkeiten nur in den Container zu laden, da sie klein sind.

Dies ist eine GitHub-Aktion mit 3 Funktionen, die für das Problemmanagement verbunden sind.

Überprüfen Sie, ob eingehende Probleme in irgendeiner Weise mit der Vorlage übereinstimmen:

Dass die Abschnitte keine Zeilen aus der Standardvorlage enthalten (normalerweise vorhanden, wenn sich ein Benutzer nicht die Mühe gemacht hat, den Abschnitt zu vervollständigen).

Dass die Abschnitte mit Kontrollkästchen, die als Beschriftungen festgelegt werden sollen, nur die Kontrollkästchen enthalten, die in der Originalvorlage vorhanden sind

Dass jeder Abschnitt eine Anzahl von Feldern hat, die im Bereich [min, max] markiert sind

Stellen Sie die Beschriftungen gemäß den aktivierten Kontrollkästchen ein.

Schließt Probleme automatisch, wenn der Autor die vom Linter hervorgehobenen Probleme nicht innerhalb eines bestimmten Zeitraums behoben hat.

Die Verwendung einer dedizierten Person zum Zuweisen von Etiketten ist eine Belastung, da es am besten ist, Benutzern die Möglichkeit zu geben, "Self-Service" durchzuführen. Benutzer können den Problemen einer eingeschränkten Teilmenge einige Beschriftungen zuweisen, die über eine Markdown-Erweiterung und Kontrollkästchen ausgeführt werden können.

Mit ihm wenn ein Benutzer die Kontrollkästchen aktiviert oder Optionsfelder Der Bot setzt die Beschriftungen entsprechend.

Von den Eigenschaften, die auffallen Von diesem Bot, der vorbereitet wurde, sind die folgenden:

  • Die Aktion wird durch die YAML-Einstellungen gesteuert und die Markdown-Vorlagen;
  • Jeder Markdown-Vorlage wird ein Block hinzugefügt das beschreibt die Bedingungen für das korrekte Ausfüllen des Formulars und die gewünschten Aktionen;
  • Eine Konfigurationsdatei mit globalen Einstellungen wird hinzugefügt.
  • Die Formulare bestehen aus Abschnitten.
  • Es gibt zwei Arten von Abschnitten:
    Freier Text: Die Aktion kann überprüfen, ob der Benutzer sich die Mühe gemacht hat, etwas abzuschließen. Die Bedeutung des Textes wird nicht automatisch überprüft.
    In den Kontrollkästchen n Anzahl der Flags kann angefordert und / oder abgeschlossen werden, so dass 0 {= m1 {= n {= m2 {= Gesamtzahl der Flags im Abschnitt.
  • Die Aktion überprüft, ob die Felder mit den Feldern in der Vorlage übereinstimmen. Wenn die Flags richtig gesetzt sind, hängt die Aktion möglicherweise an den Problem-Tags bzw. Kontrollkästchen.
  • Wenn das Formular falsch ausgefüllt wird, weist die Aktion den Benutzer an, wie es korrekt ausgefüllt werden soll, und fügt ein spezielles Tag hinzu.
  • Wenn das Formular nicht innerhalb einer bestimmten Zeit korrigiert wird, kann das Problem durch die Aktion geschlossen werden. Das automatische Sperren, Entfernen und Verschieben des Problems durch Benutzer muss noch implementiert werden, da keine offizielle API für erforderliche Aktionen und Probleme mit dem Speicherstatus vorhanden ist.
  • Wenn das Problem behoben ist, entfernt die Aktion die Markierung.
  • Die Reaktion auf Aktionsvorlagen ist natürlich anpassbar.

Schließlich wenn Sie mehr darüber wissen möchtenkönnen Sie die Details überprüfen, indem Sie zu gehen folgenden Link


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.