Observação: no momento, não há suporte para os executores hospedados no GitHub no GitHub Enterprise Server. Você pode ver mais informações sobre o suporte futuro planejado no GitHub public roadmap.
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
-
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".
-
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)".
-
No repositório, crie um arquivo chamado
.github/workflows/YOUR_WORKFLOW.yml
, substituindoYOUR_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". -
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"] })
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"] })
-
Personalize os parâmetros no seu arquivo do fluxo de trabalho:
-
Em
github.event.project_card.column_id == '12345678'
, substitua12345678
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 parahttps://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 à coluna12345678
ou à coluna87654321
. As colunas podem estar em projetos (clássico) diferentes. -
Altere o valor de
name
na funçãogithub.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".
-
-
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.
- Abra um problema no seu repositório. Para obter mais informações, confira "Criar um problema".
- Dê ao problema o rótulo que você deseja que o fluxo de trabalho remova. Para obter mais informações, confira "Gerenciar etiquetas".
- 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)".
- 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".
- Quando o fluxo de trabalho for concluído, o problema adicionado à coluna do projeto deverá ter o rótulo especificado removido.
Próximas etapas
- Para saber sobre mais coisas que podem ser feitas com a ação
actions/github-script
, confira a documentação da açãoactions/github-script
. - Pesquise o GitHub para ver exemplos de fluxos de trabalho que usam essa ação.