Este documento orienta como abrir Issues na organização Lumus-IT após a simplificação da governança entre labels, Issue Fields e Project Fields.
- A Issue representa a demanda.
- O Project representa o acompanhamento visual e operacional.
- Cada tipo de informação deve ter uma única fonte de verdade.
- Não duplique em label o que já existe como field nativo da Issue ou do Project.
- Nunca publique senhas, tokens, cookies, chaves privadas, arquivos
.envou dados sensíveis.
Issue TypePriorityStart dateTarget date
StatusAreaSizeEstimateIteration, quando aplicável
type:*risk:*source:*project:*, apenas quando existir convenção local no repositório
status:*priority:*area:*
Essas labels foram aposentadas porque duplicavam informações que agora ficam em fields estruturados.
Indica o tipo principal da demanda.
Exemplos:
type: bugtype: featuretype: devopstype: documentationtype: cross-repotype: legal
Para demandas de endpoint, integração ou banco de dados:
- use
Issue TypecomoBugouFeature - use
Areapara marcarAPIouDatabase
Indica riscos técnicos ou operacionais relevantes.
Exemplos:
risk: securityrisk: data-lossrisk: breaking-changerisk: productionrisk: performance
Indica a origem da demanda.
Exemplos:
source: clientsource: internalsource: supportsource: legalsource: codex
Usada apenas quando o repositório participa de roteamento automático para Projects específicos e essa família tiver sido definida localmente naquele repositório.
Exemplo atual:
- no
Lumus-IT/protos:project: the-vault,project: sgi,project: github
No Lumus-IT/protos, toda Issue deve ter exatamente uma label project:*.
Regras:
- Issue sem
project:*é inválida para o fluxo operacional do repositório. - Issue com mais de uma
project:*deve falhar por segurança. - Issue com
project:*não suportada deve falhar e exigir cadastro formal da nova label no fluxo de automações antes do uso.
Nos repositórios que usam caller fixo de Project, project:* não faz parte do
contrato local da Issue.
Situação atual:
Lumus-IT/sgiLumus-IT/elevare-nexus-apiLumus-IT/elevare-lumen-ui
Nesses repositórios:
- a automação não deve aceitar
project:*; - se uma Issue ou Issue vinculada em PR usar
project:*, o fluxo deve falhar com mensagem clara; - novas necessidades de roteamento por label devem ser incorporadas formalmente à automação antes de uso.
Use labels apenas para metadata que continua sendo útil como label:
type:*source:*risk:*, quando aplicávelproject:*, quando aplicável ao roteamento
Pull Requests não devem replicar labels aposentadas.
Use no PR apenas labels que ainda fazem sentido no fluxo atual:
type:*risk:*, quando aplicável
O contexto de área deve vir da Issue vinculada, do Project e do diff do próprio PR.
- o template correto;
- o
Issue Typenativo; - a
Priority; - labels
type:*esource:*; - labels
risk:*eproject:*quando couberem.
Statuscomo fonte de verdade para andamento;Areacomo fonte de verdade para agrupamento técnico/funcional;Size,Estimate,Start dateeTarget date, durante a triagem;Iterationpara entrada no ciclo/sprint.
Use type: cross-repo quando a demanda envolver:
- mais de um repositório;
- mais de uma frente técnica;
- coordenação entre entregas filhas;
- acompanhamento guarda-chuva de rollout, migração ou programa.
Nesses casos:
- a Issue pai centraliza contexto e acompanhamento;
- as Issues filhas ficam nos repositórios corretos;
- o andamento visual continua sendo controlado pelo
Statusdo Project.
- Não use labels para simular field estruturado.
- Não duplique prioridade em label se ela já estiver em
Priority. - Não duplique área em label se ela já estiver em
Area. - Não use
status:*; mova o item no Project e deixeStatusrefletir o fluxo. - Em repositórios com automação de Projects, mantenha apenas uma label
project:*por Issue. - Em caso de cancelamento, duplicidade ou descarte, comente o motivo, ajuste o
Status/fechamento conforme o fluxo e encerre a Issue.
- Nunca inclua segredos em Issues ou PRs.
- Não anexe arquivos com dados de clientes sem necessidade.
- Em incidentes sensíveis, reduza o contexto público e mova detalhes para o canal apropriado.