Integrar repositórios Git na execução de agentes e pipelines

- Módulo git-integration: clone/pull, commit/push automático, listagem de repos
- Seletor de repositório nos modais de execução (agente e pipeline)
- Seletor de branch carregado dinamicamente ao escolher repo
- Campo de diretório escondido quando repositório selecionado
- Auto-commit e push ao final da execução com mensagem descritiva
- Instrução injetada para agentes não fazerem operações git
- Rotas API: GET /repos, GET /repos/:name/branches
- Pipeline: commit automático ao final de todos os steps
This commit is contained in:
Frederico Castro
2026-02-28 04:24:47 -03:00
parent 2fae816162
commit 633b19f80d
10 changed files with 307 additions and 11 deletions

View File

@@ -999,6 +999,19 @@
</div>
<div class="form-group">
<label class="form-label" for="execute-repo">Repositório Git</label>
<div class="repo-selector">
<select class="select" id="execute-repo">
<option value="">Nenhum (usar diretório manual)</option>
</select>
<select class="select" id="execute-repo-branch" style="display:none">
<option value="">Branch padrão</option>
</select>
</div>
<p class="form-hint">Se selecionado, o agente trabalha no repositório e faz commit/push automático ao finalizar.</p>
</div>
<div class="form-group" id="execute-workdir-group">
<label class="form-label" for="execute-workdir">Diretório de Trabalho</label>
<input
type="text"
@@ -1232,6 +1245,19 @@
</div>
</div>
<div class="form-group">
<label class="form-label" for="pipeline-execute-repo">Repositório Git</label>
<div class="repo-selector">
<select class="select" id="pipeline-execute-repo">
<option value="">Nenhum (usar diretório manual)</option>
</select>
<select class="select" id="pipeline-execute-repo-branch" style="display:none">
<option value="">Branch padrão</option>
</select>
</div>
<p class="form-hint">Se selecionado, todos os agentes trabalham no repositório e o commit/push é automático ao final.</p>
</div>
<div class="form-group" id="pipeline-execute-workdir-group">
<label class="form-label" for="pipeline-execute-workdir">Diretório de Trabalho (opcional)</label>
<input
type="text"