Émetteur - Action GitHub pour forcer le libre-service pour les utilisateurs du référentiel

Dans le cadre du projet Emetteur un bot a été préparé pour GitHub, résolvant les problèmes de libre-service forcé pour les utilisateurs du référentiel. Sur GitHub, vous pouvez trouver des référentiels dont la seule fonction est de coordonner les personnes via le système Issue. Certains d'entre eux demandent à ceux qui quittent un numéro de remplir un formulaire. Ensuite, un modérateur vient vérifier que le formulaire est correctement rempli et place les balises conformément à celles précisées dans le formulaire (les balises ne peuvent être ajoutées que par un utilisateur privilégié si elles ne sont pas précisées dans le modèle). Un exemple d'une telle communauté est idées-open-source/idées-open-source.

Le modérateur n'arrive pas immédiatement. Ainsi, pour valider les formulaires et effectuer des opérations préparé présenté dans les actualités GitHub. Le bot est écrit en Python, mais vous devez toujours le lancer via node.js, car GitHub n'a que 2 types d'actions - node.js et docker, et pour docker, le même conteneur est d'abord chargé en tant que node.js, et chargé dedans un autre conteneur, c'est long. Étant donné que le conteneur avec node.js contient python3 et tout ce dont vous avez besoin, il est rationnel d'y charger simplement les dépendances, car elles sont petites.

Caractéristiques:

  • L'action est contrôlée à l'aide de la configuration YAML et des modèles Markdown ;
  • Un bloc est ajouté à chaque modèle Markdown qui décrit les conditions pour remplir correctement le formulaire et les actions souhaitées ;
  • Un fichier de configuration avec des paramètres globaux est ajouté ;
  • Les formulaires sont constitués de sections. Il existe 2 types de rubriques :
    • Texte libre. L'action peut vérifier que l'utilisateur a pris la peine d'y remplir quelque chose. La signification du texte n'est pas automatiquement vérifiée.
    • Cases à cocher. Vous pouvez exiger que n cases à cocher soient remplies de telle sorte que 0 {= m1 {= n {= m2 {= nombre total de cases à cocher dans la section. L'action vérifie que les cases à cocher correspondent aux cases à cocher du modèle. Si les indicateurs sont correctement définis, l'action peut ajouter des balises à émettre, respectivement. drapeaux.
  • Si le formulaire est mal rempli, l'action indique à l'utilisateur comment le remplir correctement et y appose une étiquette spéciale.
  • Si le formulaire n’est pas corrigé dans un certain délai, l’action peut alors clôturer le problème. L'interdiction automatique des utilisateurs, la suppression et le déplacement des problèmes n'ont pas encore été mis en œuvre en raison du manque d'API officielle pour les actions nécessaires et des problèmes de stockage d'état.
  • Si le problème est résolu, l'action supprime l'étiquette.
  • Les modèles de réponse aux actions sont bien entendu personnalisables.

Source: opennet.ru

Ajouter un commentaire