Skip to main content

Remover uma etiqueta quando um cartão é adicionado à coluna de um quadro de projeto

É 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 classic project.

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 classic project. 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 "Como criar um repositório".

  2. Escolha um classic project 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 classic project existente ou criar um classic project. Para saber 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 "Como 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 classic project. 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 diferentes quadros de projetos.

    • 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 obter mais informações sobre rótulos, confira "Como gerenciar rótulos".

  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 "Como criar arquivos".

Testar o fluxo de trabalho

Sempre que um cartão de projeto em um classic project 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 classic project para a coluna de destino.

  1. Abra um problema no seu repositório. Para obter mais informações, confira "Como 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 "Como gerenciar rótulos".
  3. Adicione o problema à coluna do classic project 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 "Como ver 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