{"v":{"area":"admin","slug":"dev-repos","path":"/home/tiixcom/public_html/sistema/docs/readme/admin/dev-repos.md","relative_path":"docs/readme/admin/dev-repos.md","title":"Repos GitHub","html":"<h1>Repos GitHub</h1><h2>Rota</h2><ul><li><code>/adm/dev-repos</code></li></ul><h2>O que e</h2><p>Tela de governanca dos repositorios GitHub mapeados no sistema, com leitura operacional de monitoramento, sync, bootstrap e visibilidade por equipe.</p><h2>Para que serve</h2><ul><li>cadastrar e editar o mapeamento entre repo, branch e pasta destino no projeto principal;</li><li>acompanhar syncs, webhooks, PRs e issues por repositorio;</li><li>testar acesso e executar bootstrap/sync subtree;</li><li>definir quais equipes podem visualizar cada repositorio no modulo;</li><li>configurar o OAuth do GitHub usado para validar a conta real dos colaboradores;</li><li>sincronizar os webhooks configurados nos repositorios GitHub ativos;</li><li>navegar entre leitura analitica, timeline e atividade pessoal sem sair do contexto da operacao.</li></ul><h2>Blocos principais</h2><ul><li>hero operacional com pulso de mapeamentos, eventos e syncs do dia;</li><li>atalhos em card para novo mapeamento, configuracao GitHub, atualizacao e sync total;</li><li>KPIs no padrao visual do admin tecnico, alinhados ao Tracy Monitor;</li><li>painel principal com busca e grid de cards operacionais;</li><li>cards compactos com o deploy como acao principal e abertura dos detalhes ao clicar;</li><li>offcanvas lateral com metricas, contexto tecnico, visibilidade, configuracoes e acoes secundarias;</li><li>painel de ultimos syncs;</li><li>painel de webhook e eventos;</li><li>modal de mapeamento do repo;</li><li>modal de configuracao GitHub;</li><li>modal de visibilidade por equipes;</li><li>offcanvas de operacao do repositorio e modal de PRs/issues;</li><li>modal de detalhe da execucao.</li></ul><h2>Atalhos da tela</h2><ul><li><code>Novo mapeamento</code>: cria um novo repo mapeado;</li><li><code>Configurar GitHub</code>: abre a configuracao da integracao;</li><li><code>Atualizar dados GitHub</code>: recarrega PRs, issues e dados operacionais do monitor;</li><li><code>Executar sync total</code>: dispara o sync subtree em lote;</li><li><code>Publicar todos</code>: enfileira, em sequencia, o deploy de todos os repositorios ativos com deploy habilitado e apresenta um resumo de sucessos e falhas;</li><li><code>Sincronizar webhooks</code>: regrava, no GitHub, a URL publica e o secret atual dos repositorios ativos com webhook habilitado;</li><li><code>Relatorio GitHub</code>, <code>Timeline GitHub</code> e <code>Minha atividade</code>: levam para as visoes relacionadas sem voltar ao menu.</li></ul><h2>Visualizacao dos repositorios</h2><ul><li>o grid exibe somente identidade, estado essencial, ultimo sync e os botoes <code>Publicar deploy</code> e <code>Detalhes</code>;</li><li>clicar no card abre o painel lateral sem navegar para outra pagina;</li><li>informacoes fixas e comandos de uso menos frequente ficam agrupados no offcanvas.</li></ul><h2>Uso no mobile</h2><ul><li>os atalhos principais sao exibidos em uma grade 2x2;</li><li>o botao de deploy permanece visivel em cada card;</li><li>metricas, contexto tecnico e acoes secundarias ficam no offcanvas com alvos de toque maiores;</li><li>historico de syncs e eventos troca a tabela horizontal por cartoes rotulados;</li><li>a barra global declarada por <code>$botoes</code> continua disponivel em rolagem horizontal no topo das paginas que possuem acoes.</li></ul><h2>Observacoes</h2><ul><li>quando um repositorio nao tem nenhuma equipe configurada na ACL, ele continua sem restricao especifica no modulo;</li><li>quando ha equipes selecionadas, usuarios fora dessas equipes passam a nao enxergar os dados daquele repositorio nas telas filtradas;</li><li>o modal <code>Config GitHub</code> concentra tambem <code>OAuth Client ID</code>, <code>OAuth Client Secret</code> e o callback usado pela conexao segura da conta do colaborador;</li><li>o endpoint unificado <code>/adm/api/GitHubWebhooks/github</code> valida a assinatura do GitHub contra o secret do monitor e tambem contra o <code>Webhook secret deploy</code>, permitindo que webhooks de deploy e monitoramento usem a mesma URL publica;</li><li>eventos <code>push</code> so disparam deploy quando <code>payload.ref</code> corresponde a <code>refs/heads/{branch}</code> do mapeamento; pushes de outras branches e tags continuam registrados, mas ficam sem deploy;</li><li>a acao <code>Sincronizar webhooks</code> e util apos troca de servidor, URL publica ou secret: ela usa o GitHub App para atualizar/criar o hook <code>push</code> nos repos mapeados, sem executar deploy e sem expor o secret na resposta;</li><li>os niveis de acesso atuais servem como classificacao operacional (<code>leitura</code>, <code>contribuicao</code>, <code>review</code>, <code>gestao</code>) e abrem caminho para comparacao futura com times oficiais do GitHub.</li></ul>"},"exp":1786048262}