GitHub lançou um bot para moderação automática de problemas

Como parte do projeto do emissor, um bot foi preparado para o GitHub que resolve as tarefas de moderação automaticamente o sistema de rastreamento no GitHub. No GitHub você pode encontrar repositórios cuja única função é coordenar pessoas por meio do sistema Issue.

Em alguns deles, ao sair do Issue, você deverá preencher um formulário, Então eu vitenha um moderador, verifique se o preenchimento do formulário está correto e poste as tags de acordo com aqueles especificados no formulário (as tags só podem ser penduradas por um usuário privilegiado se não estiverem especificadas no modelo). Um exemplo de tal comunidade é a comunidade Open Source Ideas.

O moderador não vem instantaneamente. Portanto, Uma ação do GitHub apresentada nas notícias foi preparada para validar formulários e realizar operações.

O bot é escrito em Python, mas ainda precisa ser executado por meio de node.js, uma vez que o GitHub tem apenas 2 tipos de ações: node.js e docker e para docker, primeiro o mesmo contêiner que node.js é carregado e é carregado no outro contêiner que Isso é longo.

Considerando que python3 e tudo que você precisa está no contêiner com node.js, é racional apenas carregar as dependências nele, pois são pequenas.

Esta é uma ação do GitHub com 3 funções conectadas para gerenciamento de problemas.

Verifique se os problemas recebidos correspondem ao modelo de alguma forma:

Que as seções não contenham linhas do modelo padrão (geralmente presente quando um usuário não se preocupou em completar a seção).

Que as seções que contêm caixas de seleção a serem definidas como rótulos contêm apenas as caixas de seleção presentes no modelo original

Cada seção tem um número de caixas marcadas no intervalo [min, max]

Defina os rótulos de acordo com as caixas marcadas.

Fecha problemas automaticamente se o autor não corrigiu os problemas destacados pelo linter dentro de um determinado período de tempo.

Usar uma pessoa dedicada para atribuir rótulos é um fardo, pois é melhor permitir que os usuários façam "autoatendimento". Os usuários podem atribuir alguns rótulos aos problemas de um subconjunto restrito, o que pode ser feito por meio de uma extensão Markdown e caixas de seleção.

Com ele quando um usuário marca as caixas de seleção ou botões de rádio o bot define os rótulos de acordo.

Das características que se destacam deste bot que foi preparado, são os seguintes:

  • A ação é controlada pelas configurações YAML e os modelos de Markdown;
  • Um bloco é adicionado a cada modelo de Markdown que descreva as condições para o correto preenchimento do formulário e as ações desejadas;
  • Um arquivo de configuração com configurações globais é adicionado;
  • Os formulários são compostos por seções.
  • Existem 2 tipos de seções:
    Texto livre: A ação pode verificar se o usuário se preocupou em concluir algo. O significado do texto não é verificado automaticamente.
    Nas caixas de seleção n número de sinalizadores pode ser solicitado e / ou concluído, de modo que 0 {= m1 {= n {= m2 {= número total de sinalizadores na seção.
  • A ação verifica se as caixas correspondem às caixas do modelo. Se os sinalizadores estiverem definidos corretamente, a ação pode travar nas tags de problema, resp. Caixas de seleção.
  • Se o formulário for preenchido incorretamente, a ação instrui o usuário como preenchê-lo corretamente e adiciona uma tag especial.
  • Se o formulário não for corrigido dentro de um certo tempo, a ação pode encerrar o problema. A proibição automática de usuário, remoção e realocação do problema ainda não foram implementadas devido à falta de uma API oficial para as ações necessárias e problemas com o estado de armazenamento.
  • Se o problema for corrigido, a ação remove a marca.
  • A resposta aos modelos de ação são, obviamente, personalizáveis.

Finalmente se você estiver interessado em saber mais sobre isso, você pode verificar os detalhes acessando link a seguir


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.