Adicionar Projeto a Issue via GitHub Actions⚓︎
Como idéia para melhor organizar os issues criados dentro dos repositórios da organização transparencia-mg pensamos em sempre vincular issues criados ao projeto @work-dta. Desta maneira periodicamente conseguiremos analisar o "estoque" de trabalho e realizar a priorização do mesmo. Isso exigi um nível de organização muito grande, pois além de abrir o issue descrevendo a ação a ser feita deveremos lembrar de realizar a inclusão do projeto em questão. A chance de erro material neste caso é grande. Para automatizar este processo pesquisei esta solução, para criar uma GitHub Actions a ser acionada toda vez que um issue for criado:
name: Add issues to project
on:
issues:
types: [opened]
jobs:
add-to-project:
name: Add issue to project
runs-on: ubuntu-latest
steps:
- uses: actions/add-to-project@v0.4.0
with:
project-url: https://github.com/users/<user id>/projects/<project id>
github-token: ${{ secrets.ADD_TO_PROJECT_PAT }}
Caso o repositório que se deseja automatizar não tenha a pasta .github/workflows
, a mesma deverá ser criada para incluir o arquivo yml
conforme sugerido acima.
O repositório GitHub add-to-project demonstra alguns outros exemplos de utilização, bem como explica os inputs obrigatórios a serem fornecidos, como o github-token
.
Incluí como configuração na organização transparencia-mg permitir acesso via access token pessoal (classic)
pois recebi o erro Error: Personal access tokens with fine grained access do not support the GraphQL API
ao tentar utilizar a funcionalidade com o fine-grained Personal Access Tokens
.
Ao que tudo indica, não é possível este tipo de utilização.
Por fim, com intúito de padronizar, sugiro utilizarmos o nome add_issues_to_projects.yml
para a actions que orquestratrá todo processo.
O issue 34 do repositório handbook foi criado com intúito de utilizar este processo em todos os repositórios da organização transparencia-mg.
Passos a serem seguidos⚓︎
- Incluir secret
ADD_TO_PROJECT_PAT
no repositório que se deseja automatizar (settings/secrets/actions). - Incluir arquivo
.github/workflows/add_issues_to_projects.yml
no repositório que se deseja automatizar com o seguinte conteúdo:
name: Add issues to project
on:
issues:
types: [opened]
jobs:
add-to-project:
name: Add issue to project
runs-on: ubuntu-latest
steps:
- uses: actions/add-to-project@v0.4.0
with:
project-url: https://github.com/orgs/transparencia-mg/projects/1
github-token: ${{ secrets.ADD_TO_PROJECT_PAT }}
- Criar um issue para testar automatização.
- Deletar issue teste caso automatização funcione.
Criado em: January 17, 2023 14:14:02