Skip to main content

Remover uma etiqueta quando um cartão é adicionado à coluna projeto (clássico)

É possível usar o GitHub Actions para remover automaticamente um rótulo quando um problema ou uma solicitação de pull é adicionada a uma coluna específica em um projeto (clássico).

Introdução

Este tutorial demonstra como usar a ação actions/github-script com uma condicional para remover um rótulo de problemas e solicitações de pull adicionados a uma coluna específica em um projeto (clássico). Por exemplo, você pode remover o rótulo needs review quando os cartões de projeto são movidos para a coluna Done.

No tutorial, primeiro, você criará um arquivo de fluxo de trabalho que usa a ação actions/github-script. 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, confira "Criar um repositório".

  2. Escolha um projeto (clássico) que pertença ao repositório. Este fluxo de trabalho não pode ser usado com projetos que pertencem a usuários ou organizações. É possível usar um projeto (clássico) existente ou criar um projeto (clássico). Para saber mais sobre como criar um projeto, confira "Criar um project (classic)".

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

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

    YAML
    name: Remove a label
    on:
      project_card:
        types:
          - moved
    jobs:
      remove_label:
        if: github.event.project_card.column_id == '12345678'
        runs-on: ubuntu-latest
        permissions:
          issues: write
          pull-requests: write
        steps:
          - uses: actions/github-script@v6
            with:
              script: |
                // this gets the number at the end of the content URL, which should be the issue/PR number
                const issue_num = context.payload.project_card.content_url.split('/').pop()
                github.rest.issues.removeLabel({
                  issue_number: issue_num,
                  owner: context.repo.owner,
                  repo: context.repo.repo,
                  name: ["needs review"]
                })
    
  5. Personalize os parâmetros no seu arquivo do fluxo de trabalho:

    • Em github.event.project_card.column_id == '12345678', substitua 12345678 pela ID da coluna em que deseja remover o rótulo de solicitações de pull e problemas que são movidos para ela.

      Para encontrar a ID da coluna, acesse o projeto (clássico). Ao lado do título da coluna, clique em e clique em Copiar link da coluna. O ID da coluna é o número no final do link copiado. Por exemplo, 24687531 é a ID da coluna para https://github.com/octocat/octo-repo/projects/1#column-24687531.

      Caso deseje modificar mais de uma coluna, separe as condições com ||. Por exemplo, if github.event.project_card.column_id == '12345678' || github.event.project_card.column_id == '87654321' funcionará sempre que um cartão de projeto for adicionado à coluna 12345678 ou à coluna 87654321. As colunas podem estar em projetos (clássico) diferentes.

    • Altere o valor de name na função github.rest.issues.removeLabel() para o nome do rótulo que você deseja remover dos problemas ou das solicitações de pull movidas para as colunas especificadas. Para saber mais sobre rótulos, confira "Gerenciar etiquetas".

  6. Faça o commit do arquivo de fluxo de trabalho para o branch padrão do seu repositório. Para obter mais informações, confira "Criar arquivos".

Testar o fluxo de trabalho

Sempre que um cartão de projeto em um projeto (clássico) no repositório é movido, este fluxo de trabalho é executado. Se o cartão for um problema ou uma solicitação de pull e for movido para a coluna especificada, o fluxo de trabalho removerá o rótulo especificado do problema ou da solicitação de pull. Os cartões que são observações que não serão afetadas.

Teste o fluxo de trabalho movendo um problema no projeto (clássico) para a coluna de destino.

  1. Abra um problema no seu repositório. Para obter mais informações, confira "Criar um problema".
  2. Dê ao problema o rótulo que você deseja que o fluxo de trabalho remova. Para obter mais informações, confira "Gerenciar etiquetas".
  3. Adicione o problema à coluna do projeto (clássico) especificada no arquivo do fluxo de trabalho. Para obter mais informações, confira "Adicionar problemas e solicitações de pull a um project (classic)".
  4. Para ver a execução do fluxo de trabalho que foi acionada adicionando o problema ao projeto, visualize o histórico da execução do seu fluxo de trabalho. Para obter mais informações, confira "Visualizar o histórico de execução do fluxo de trabalho".
  5. Quando o fluxo de trabalho for concluído, o problema adicionado à coluna do projeto deverá ter o rótulo especificado removido.

Próximas etapas