Pular para conteúdo

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.

Ultima atualização: January 17, 2023 17:28:21
Criado em: January 17, 2023 14:14:02

Comentários