Skip to content

fix(issue-templates): declare native issue type on each template#49

Open
joaokita wants to merge 1 commit intomainfrom
fix/issue-templates-native-type
Open

fix(issue-templates): declare native issue type on each template#49
joaokita wants to merge 1 commit intomainfrom
fix/issue-templates-native-type

Conversation

@joaokita
Copy link
Copy Markdown
Contributor

Resumo

Adiciona campo type: em cada um dos 7 templates de issue em .github/ISSUE_TEMPLATE/ para que o GitHub aplique automaticamente o Native Issue Type correspondente quando o usuario criar uma issue via UI.

Motivacao

Antes desta PR, os templates declaravam apenas name: e description:. Issues criadas via UI ficavam com type=null na entidade GitHub Issue — exigindo intervencao manual (UI seleciona Type explicitamente) ou ferramenta externa que faca PATCH via REST API depois.

A skill nfe:create-issue (em nfe/skills-internal) ja contornava isso chamando scripts/set_native_type.sh (REST PATCH) apos create_issue, mas o caminho UI nativo do GitHub ficava descoberto. Resultado: backlog ficava com mistura de issues com e sem Native Type, confundindo views/filtros do Project nfe/5.

Com type: declarado no template, ambos os caminhos (UI direta e skill) produzem issues com Native Type aplicado de origem — sem dependencia de pos-processamento.

Mapeamento aplicado

Arquivo name (existente) type (novo)
feature.yml Feature Feature
bug.yml Bug Bug
improvement.yml Improvement Improvement
spike.yml Spike Spike
docs.yml Docs Docs
chore.yml Chore / Task Task
incident.yml Incident Incident

Para chore.yml, o name permanece Chore / Task (descritivo), mas o type mapeia para Task — Native Type configurado na org.

Verificacao da org

Confirmado via GraphQL organization(login:\"nfe\"){issueTypes{nodes{name isEnabled}}} que todos os 7 Native Types estao habilitados em nfe:

  • Task (isEnabled=true)
  • Bug (isEnabled=true)
  • Feature (isEnabled=true)
  • Improvement (isEnabled=true)
  • Spike (isEnabled=true)
  • Docs (isEnabled=true)
  • Incident (isEnabled=true)

Cross-repo

PR complementar em nfe/skills-internal (PR #25, branch feat/create-issue-ux-rework) ja aplica o mesmo fix nos placeholders assets/issue-templates/*.yml da skill nfe:create-issue. Isso garante que repos onde a skill faz bootstrap (Etapa 1c) recebam templates com type: ja na publicacao — fechando o gap mesmo antes do sync diario do provisioner em nfe/.github#20.

Test plan

  • Criar issue de teste em nfe/skills-internal (ou outro repo da org) usando o template bug.yml via UI — validar que issue.type.name == 'Bug' no payload retornado pela API.
  • Repetir para feature.yml e chore.yml (este ultimo deve resultar em type.name == 'Task', nao Task / Chore).

🤖 Generated with Claude Code

Adiciona campo `type:` em cada template para que o GitHub aplique o
Native Issue Type automaticamente ao criar a issue via UI — alinhado
com os tipos configurados na org `nfe`
(organization.issueTypes via GraphQL).

Mapeamento:
  feature.yml     -> type: Feature
  bug.yml         -> type: Bug
  improvement.yml -> type: Improvement
  spike.yml       -> type: Spike
  docs.yml        -> type: Docs
  chore.yml       -> type: Task          (name e 'Chore / Task')
  incident.yml    -> type: Incident

Antes desta mudanca, os templates declaravam apenas `name:` e
`description:`. Issues criadas via UI ficavam com `type=null` ate
intervencao manual ou ferramenta externa setar via REST PATCH.
A skill `nfe:create-issue` em `nfe/skills-internal` ja cobria
chamando set_native_type.sh apos create_issue, mas o caminho UI
ficava descoberto.

Com `type:` declarado, ambos os caminhos (UI e skill) produzem issue
com Native Type aplicado de origem.

Verificacao da org: todos os 7 Native Types (Feature, Bug,
Improvement, Spike, Docs, Task, Incident) estao habilitados em
`nfe` com `isEnabled=true`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant