Esta versão do GitHub Enterprise será descontinuada em 2022-02-16. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Fechar problemas inativos

Você pode usar GitHub Actions para comentar ou fechar problemas que ficaram inativos por um determinado período de tempo.

Observação: Executores hospedados em GitHub não são atualmente compatíveis com GitHub Enterprise Server. Você pode ver mais informações sobre suporte futuro planejado no Itinerário público do GitHub.

Introdução

Este tutorial demonstra como usar a ação actions/stale para comentar e fechar problemas que ficaram inativos por um determinado período de tempo. Por exemplo, você pode comentar se um problema está inativo por 30 dias para incentivar os participantes a agir. Em seguida, se nenhuma atividade adicional ocorrer após 14 dias, você poderá fechar o problema.

No tutorial, primeiro você vai fazer um arquivo de fluxo de trabalho que usa a ação actions/stale. Então, você personalizará o fluxo de trabalho para atender às suas necessidades.

Criar o fluxo de trabalho

  1. Escolha um repositório onde você deseja aplicar este fluxo de trabalho de gerenciamento de projetos. Você pode usar um repositório existente ao qual você tem acesso de gravação ou criar um novo repositório. Para obter mais informações sobre como criar um repositório, consulte "Criar um repositório".

  2. No repositório, crie um arquivo denominado .github/workflows/YOUR_WORKFLOW.yml, substituindo YOUR_WORKFLOW por um nome da sua escolha. Este é um arquivo do fluxo de trabaho. Para obter mais informações sobre como criar novos arquivos no GitHub, consulte "Criar novos arquivos".

  3. Copie o seguinte conteúdo YAML para o arquivo do fluxo de trabalho.

    YAML
    name: Close inactive issues
    on:
      schedule:
        - cron: "30 1 * * *"
    
    jobs:
      close-issues:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/stale@v3
            with:
              days-before-issue-stale: 30
              days-before-issue-close: 14
              stale-issue-label: "stale"
              stale-issue-message: "This issue is stale because it has been open for 30 days with no activity."
              close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale."
              days-before-pr-stale: -1
              days-before-pr-close: -1
              repo-token: ${{ secrets.GITHUB_TOKEN }}
  4. Personalize os parâmetros no seu arquivo do fluxo de trabalho:

    • Altere o valor de on.schagen para ditar quando você deseja que este fluxo de trabalho seja executado. No exemplo acima, o fluxo de trabalho será executado todos os dias à 1:30 UTC. Para obter mais informações sobre fluxos de trabalho agendados, consulte "Eventos agendados".
    • Altere o valor de days-before-issue-stale para o número de dias sem atividade antes da ação actions/stale etiquetar um problema. Se você nunca quiser que esta ação etiquete problemas, defina esse valor como -1.
    • Altere o valor de days-before-issue-close para o número de dias sem atividade antes que a ação actions/stale feche um problema. Se você nunca quiser que esta ação feche problemas, defina esse valor como -1.
    • Altere o valor para stale-issue-label para a etiqueta que você deseja aplicar aos problemas inativos por um período de tempo especificado por days-before-issue-stale.
    • Altere o valor para stale-issue-message para o comentário que deseja adicionar aos problemas etiquetados pela ação actions/stale.
    • Altere o valor de close-issue-message para o comentário que você deseja adicionar aos problemas fechados pela ação actions/stale.
  5. Faça o commit do arquivo de fluxo de trabalho para o branch padrão do seu repositório. Para obter mais informações, consulte "Criar arquivos".

Resultados esperados

Baseado no parâmetro agendar (por exemplo, todos os dias à 1:30 UTC), seu fluxo de trabalho encontrará problemas que ficaram inativos durante o período de tempo especificado e adicionarão o comentário e a etiqueta especificados. Além disso, o seu fluxo de trabalho fechará quaisquer problemas etiquetados anteriormente se nenhuma atividade adicional tiver ocorrido pelo período de tempo especificado.

Observação: O evento agendamento pode ser adiado durante períodos de cargas altas de execuções do fluxo de trabalho de GitHub Actions. Os tempos de carregamento altos incluem o início de cada hora. Para diminuir a probabilidade de atraso, agende o fluxo de trabalho para ser executado em uma parte diferente da hora.

Você pode visualizar o histórico de execução do fluxo de trabalho para ver a execução deste fluxo de trabalho periodicamente. Para obter mais informações, consulte "Visualizar histórico de execução de fluxo de trabalho".

Este fluxo de trabalho só irá etiquetar e/ou fechar 30 problemas de cada vez para evitar exceder um limite de taxa. Você pode definir isso com a configuração de operations-por-run. Para obter mais informações, consulte a documentação da ação ação/estale.

Próximas etapas

  • Para saber mais sobre outras coisas que você pode fazer com a ação actions/stale como, por exemplo, fechar pull requests inativos, ignorar problemas com certas etiquetas ou marcos, ou apenas verificar problemas com determinadas etiquetas, consulte ação/falso documentação da ação.
  • Pesquise no GitHub exemplos de fluxos de trabalho que usam esta ação.

Esse documento ajudou você?

Política de Privacidade

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.