feat(project): auto-add issues + reconcile workflows para nfe/5#20
Open
feat(project): auto-add issues + reconcile workflows para nfe/5#20
Conversation
- templates/auto-add-to-project.yml: workflow syncado para cada repo (dispara em issues.opened/reopened/transferred e adiciona a issue ao Project Work - Product & Engineering / nfe/5) - .github/workflows/sync-auto-add-workflow.yml: provisioner diario que abre PR em cada repo da org pra instalar/atualizar o workflow - .github/workflows/reconcile-project-items.yml: reconciler horario que encontra issues orfas (abertas na org e ausentes do Project #5) e as adiciona automaticamente Requer secret organization-level WORK_PROJECT_TOKEN (PAT com scopes project + repo + workflow) visivel para todos os repos alvo. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Contexto
Issues criadas pela UI do GitHub hoje não entram automaticamente no Project Work - Product & Engineering (nfe/5) — só issues criadas via skill
/create-issue(que fazaddProjectV2ItemByIdexplicitamente). Isso gera issues órfãs, que ficam rastreadas no repo mas fora do Project central.Required Workflows (feature original de 2023) foi descontinuada. Rulesets (seu sucessor) só cobre eventos de PR/push — não cobre
issues.opened. Logo, não há mecanismo GitHub nativo que force um workflow a rodar org-wide no evento de issue. A solução é sincronizar o workflow pra cada repo + reconciler como safety-net.O que este PR adiciona
Três arquivos, nenhuma mudança em código existente:
1.
templates/auto-add-to-project.yml(template de sync)Workflow que será copiado pra cada repo. Dispara em
issues: [opened, reopened, transferred]e usaactions/add-to-project@v1pra adicionar a issue ao Project #5. Delay típico <30s.2.
.github/workflows/sync-auto-add-workflow.yml(provisioner)Roda diariamente 06:00 UTC + manual via
workflow_dispatch. Pra cada repo não-arquivado da org:chore/auto-add-to-project-sync, commita o template, abre PR contramain/default branch do repoInputs do dispatch manual:
dry_run(default false): lista o que faria sem abrir PRlimit(default 0): max repos a processar por execução (0 = todos)3.
.github/workflows/reconcile-project-items.yml(reconciler)Roda a cada hora + manual. Encontra issues abertas na org ausentes do Project #5 e adiciona. Safety-net pra: (a) repos ainda sem workflow syncado, (b) falhas transitórias do workflow primary, (c) issues transferidas / reabertas fora de evento.
Apenas adiciona ao Project — não seta fields (Priority, Status, etc. ficam vazios, pra preenchimento manual/Triage).
Arquitetura
Criar e expor secret organization-level
WORK_PROJECT_TOKEN:Criar PAT em https://github.com/settings/tokens com scopes:
repo— pra commit e abrir PR nos repos alvo (provisioner)workflow— pra commitar arquivos em.github/workflows/(provisioner)project— praaddProjectV2ItemById(runtime e reconciler)Adicionar como secret org-level em https://github.com/organizations/nfe/settings/secrets/actions:
WORK_PROJECT_TOKENnfe/.github)Sem esse secret, o workflow
actions/add-to-project@v1falha silenciosamente e os PRs do provisioner não abrem.Plano de rollout recomendado
Actions → Sync auto-add-to-project workflow → Run workflow → dry_run=true— valida a lista de repos sem efeito colaterallimit=3, dry_run=false— valida o fluxo de PR em 3 reposNotas operacionais
.github/workflows/auto-add-to-project.yml. É o trade-off da Arquitetura B (sem Workers hospedado).Test plan
WORK_PROJECT_TOKENcriado e visível org-widedry_run=true— lista de repos confere comgh api orgs/nfe/reposlimit=3— 3 PRs abertos corretamente em 3 reposdry_run=true— contagem de órfãs bate com query manual🤖 Generated with Claude Code