Émetteur — Action GitHub pour le libre-service des utilisateurs du référentiel

Dans le cadre du projet Émetteur Un bot a été préparé pour GitHub, résolvant les problèmes de l'auto-assistance des utilisateurs de dépôt. Sur GitHub, on peut trouver des dépôts dont la seule fonction est de coordonner les personnes via le système d'Issues. Dans certains d'entre eux, les utilisateurs qui laissent une Issue sont invités à remplir un formulaire. Ensuite, un modérateur arrive, vérifie la validité du formulaire, et ajoute des étiquettes en fonction de celles spécifiées dans le formulaire (les étiquettes ne peuvent être ajoutées que par un utilisateur privilégié si elles ne sont pas définies dans le modèle). Un exemple de telle communauté est open-source-ideas/open-source-ideas.

Le modérateur n'arrive pas immédiatement. Par conséquent, pour vérifier les formulaires et effectuer des opérations préparés l'action GitHub présentée dans les nouvelles. Le bot est écrit en Python, mais il doit être exécuté via node.js, car GitHub n'a que 2 types d'actions - node.js et docker, et pour docker, le même conteneur où se trouve node.js doit être d'abord chargé, puis un autre conteneur est chargé dans celui-ci, ce qui prend du temps. Étant donné que Python3 et tout le reste dont nous avons besoin sont déjà présents dans le conteneur avec node.js, il est rationnel simplement d'y ajouter des dépendances, étant donné qu'elles sont légères.

Caractéristiques :

  • L'action est gérée à l'aide d'un fichier de configuration YAML et de modèles Markdown;
  • Chaque modèle Markdown inclut un bloc décrivant les conditions de remplissage correct du formulaire et les actions souhaitées;
  • Un fichier de configuration avec des paramètres globaux est ajouté;
  • Les formulaires se composent de sections. Il existe 2 types de sections :
    • Texte libre. L'action peut vérifier que l'utilisateur a pris la peine d'y mettre quelque chose. La cohérence du texte n'est pas vérifiée automatiquement.
    • Cases à cocher (checkbox). On peut exiger le remplissage de n cases à cocher, de sorte que 0 {= m1 {= n {= m2 {= le nombre total de cases à cocher dans la section. L'action vérifie que les cases à cocher correspondent à celles du modèle. Si les cases sont correctement spécifiées, l'action peut ajouter des étiquettes à l'issue en fonction des cases à cocher.
  • Si le formulaire est mal rempli, l'action informe l'utilisateur comment le remplir correctement et ajoute une étiquette spéciale.
  • Si le formulaire n'est pas corrigé dans un certain délai, l'action peut fermer l'issue. Le ban automatique des utilisateurs, ainsi que la suppression et le déplacement des issues ne sont pas encore implémentés en raison de l'absence d'une API officielle pour les actions nécessaires et des problèmes de conservation de l'état.
  • Si le problème est résolu, l'action supprime l'étiquette.
  • Les modèles de réponse pour les actions sont bien sûr personnalisables.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster