É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