Aussteller – GitHub-Aktion, um Self-Service für Repository-Benutzer zu erzwingen

Das Projekt Aussteller Für GitHub wurde ein Bot vorbereitet, der Probleme der erzwungenen Selbstbedienung für Repository-Benutzer löst. Auf GitHub finden Sie Repositories, deren einzige Funktion darin besteht, Personen über das Issue-System zu koordinieren. Einige von ihnen bitten diejenigen, die ein Problem hinterlassen, ein Formular auszufüllen. Dann kommt ein Moderator, überprüft, ob das Formular korrekt ausgefüllt ist, und platziert Tags entsprechend den im Formular angegebenen Tags (Tags können nur von einem privilegierten Benutzer hinzugefügt werden, wenn sie nicht in der Vorlage angegeben sind). Ein Beispiel für eine solche Gemeinschaft ist Open-Source-Ideen/Open-Source-Ideen.

Der Moderator trifft nicht sofort ein. Daher zur Validierung von Formularen und zur Durchführung von Vorgängen vorbereitet in den GitHub-News vorgestellt. Der Bot ist in Python geschrieben, aber Sie müssen ihn trotzdem über node.js starten, 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 einen anderen Container geladen, das ist eine lange Zeit. Wenn man bedenkt, dass der Container mit node.js Python2 und alles andere, was Sie brauchen, enthält, ist es sinnvoll, die Abhängigkeiten einfach hineinzuladen, da sie klein sind.

Features:

  • Die Aktion wird mithilfe von YAML-Konfigurations- und Markdown-Vorlagen gesteuert.
  • Jeder Markdown-Vorlage wird ein Block hinzugefügt, der die Bedingungen für das korrekte Ausfüllen des Formulars und die gewünschten Aktionen beschreibt;
  • Eine Konfigurationsdatei mit globalen Einstellungen wird hinzugefügt;
  • 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, dort etwas einzugeben. Die Bedeutung des Textes wird nicht automatisch überprüft.
    • Kontrollkästchen. Sie können verlangen, dass n Kontrollkästchen ausgefüllt werden, sodass 0 {= m1 {= n {= m2 {= Gesamtzahl der Kontrollkästchen im Abschnitt. Die Aktion prüft, ob die Kontrollkästchen mit den Kontrollkästchen in der Vorlage übereinstimmen. Wenn die Flags richtig gesetzt sind, kann die Aktion jeweils Tags zur Ausgabe hinzufügen. Flaggen.
  • Wenn das Formular falsch ausgefüllt ist, weist die Aktion den Benutzer an, das Formular richtig auszufüllen, und bringt eine spezielle Kennzeichnung darauf an.
  • Wenn das Formular nicht innerhalb einer bestimmten Zeit korrigiert wird, kann die Aktion das Problem schließen. Das automatische Sperren von Benutzern sowie das Löschen und Verschieben von Issues wurde aufgrund des Fehlens einer offiziellen API für die erforderlichen Aktionen und Problemen mit der Statusspeicherung noch nicht implementiert.
  • Wenn das Problem behoben ist, wird durch die Aktion die Beschriftung entfernt.
  • Aktions-/Reaktionsvorlagen sind natürlich anpassbar.

Source: opennet.ru

Kommentar hinzufügen