Controle de versão com Git
Um projeto pode ser ligado a um repositório Git no GitHub, no GitLab ou em qualquer servidor Git acessível por HTTPS. Tudo o que descreve o projeto vira arquivos comuns lá, e o repositório passa a ser a fonte da verdade: o Waiso verifica o branch a cada poucos minutos, mostra o que chegou, e um Aceitar deixa o projeto igual ao repositório. Enviar funciona como o painel de controle de versão de um editor de código: comparar, preparar, commit e push.
- Conectar um repositório com um endereço HTTPS e um token
- Saber qual arquivo cada parte do projeto vira — e o que nunca viaja
- Preparar, comparar, fazer commit e enviar suas mudanças
- Revisar o que chegou do repositório e aceitar
- Começar um segundo projeto (dev → produção) a partir do mesmo repositório
O projeto como arquivos
O Waiso continua sendo o lugar onde o código roda; o repositório é onde o projeto é descrito e onde fica o histórico. Cada item é gravado como um arquivo, no caminho de pastas que a página Code mostra. Só esses arquivos pertencem ao projeto: qualquer outro caminho do repositório — um README, um workflow de CI, uma pasta de testes — é ignorado, nunca listado, nunca lido e nunca apagado.
1def main(day):2 rows = load(day)3 notify("ops")4 return rows1def main(day):2 rows = load(day)3 notify(TEAM)4 return rows| Item | Arquivo no repositório |
|---|---|
| Script Python, TypeScript, JavaScript, C, C++ | <dir>/<nome>.py, .ts, .js, .c, .cpp — o código do rascunho, byte a byte |
| Script PostgreSQL / MySQL | <nome>.pg.sql / <nome>.mysql.sql |
| Flow | <nome>.flow.yaml, no formato de arquivo de flow |
| Agendamento | .waiso/schedules/<nome>.yaml |
| Endpoint de API | .waiso/endpoints/<caminho do alvo>.yaml |
| O nome do projeto | .waiso/project.yaml |
| Variável | .waiso/variables/<NOME>.yaml — nome, descrição, se é secreta |
| Integração | .waiso/integrations/<nome>.yaml — tipo e nome |
Conecte um repositório
- Abra a página Git
Na barra lateral do projeto abra Git e clique em Conectar um repositório.
- Informe o endereço e o branch
Cole o endereço https:// do repositório e o branch a seguir. Endereços de redes privadas são recusados.
- Adicione um token
Crie no seu servidor Git um token que possa gravar só neste repositório e cole com o usuário dele. O tutorial ao lado do formulário mostra onde cada servidor guarda isso.
- Verifique e conecte
Clique em Verificar e conectar. O Waiso acessa o repositório, confere o token e o branch e abre a aba Mudanças.
Conectar um projeto que já tem itens a um branch vazio mostra todos os itens como Adicionado: o primeiro commit grava o projeto inteiro. Conectar um projeto vazio a um branch que já tem um oferece trazer tudo de uma vez — veja Comece a partir de um repositório.
Commit e push
A aba Mudanças lista o que difere entre o projeto e o branch, cada arquivo marcado como Modificado, Adicionado ou Apagado. Clique num arquivo para comparar o lado do repositório com o lado do projeto.
- Prepare os arquivos que entram neste commit, ou use Preparar todas. Fazer commit sem nada preparado pergunta se é para preparar tudo.
- Escreva a Mensagem do commit e clique em Commit & Push (ou Ctrl+Enter). O aviso mostra o commit novo, Enviado 3f2a9c1.
- A aba Histórico lista os commits do branch com os arquivos que cada um mexeu.
Aceite o que chegou
Com Verificar o repositório automaticamente ligado (o padrão numa conexão nova, no menu do repositório), o Waiso olha o branch a cada 5 minutos e quando você abre o projeto. Quando chegam commits novos, o item Git da barra lateral mostra quantos itens estão esperando, e a página Git lista tudo em Do repositório, com os commits de onde vieram. Nada muda até você aceitar.
- Clique numa linha para comparar. Um item que o repositório removeu aparece como Será apagado e o conteúdo inteiro fica em vermelho: é o que seria perdido.
- usado por N numa exclusão diz o que ainda usa o item; substitui sua mudança não enviada marca um item que você mudou aqui e nunca enviou.
- Aceitar deixa o projeto igual ao repositório: itens novos são criados, itens alterados são substituídos e publicados, itens removidos são apagados. Mudanças não enviadas que seriam substituídas são confirmadas antes, pelo nome.
- Um arquivo que não dá para ler (um flow quebrado, um horário inválido) é ignorado com o motivo; todo o resto é aplicado.
Variáveis e integrações a preencher
Uma variável ou integração que chega é criada com valores claramente falsos e marcada A preencher na página dela. Uma execução nunca vê o valor falso: a variável simplesmente não existe até você informar o valor real, e uma integração responde integration_to_fill. Uma que já existe mantém os valores — só a descrição segue o repositório. Agendamentos e endpoints novos chegam desligados.
target:
script: reports/daily
path: daily-report
method: POST
mode: sync
auth: token
rateLimitPerMin: 60Comece a partir de um repositório
Para criar um segundo ambiente — um projeto de produção alimentado pelo mesmo branch do dev — crie um projeto vazio e conecte ao repositório. O Waiso reconhece um projeto Waiso lá e oferece Trazer tudo: mostra quantos scripts, flows, agendamentos, endpoints, variáveis e integrações vêm e o nome que o projeto vai ter. Depois, preencha os valores que o projeto lista e ligue os agendamentos que quiser.
Cópias entre projetos
Sem repositório, um script, flow ou agendamento também pode ser copiado de outro projeto do workspace com Copiar de outro projeto, nas páginas Code e Agendamentos. O que ele usa vem junto — os scripts que um flow roda, o alvo de um agendamento — e o que já existe no mesmo caminho é reaproveitado. Uma cópia vigiada lembra o original: quando o original é publicado de novo, o item Git conta isso e a página Git oferece Atualizar (a cópia pega a versão nova, publicada) ou Ignorar. Quem publica o original vê quais projetos o vigiam e pode atualizar cada um.
Limites
- Um repositório e um branch por projeto.
- Só endereços HTTPS em servidores públicos; chaves SSH não são suportadas.
- Uma sincronização por vez por projeto: uma segunda responde Outra sincronização deste projeto está rodando.
- Um commit é recusado enquanto houver algo esperando para ser aceito — aceite primeiro e depois envie de novo.
- Dois itens que viram o mesmo arquivo (o mesmo nome na mesma pasta) são avisados e não são gravados até um ser renomeado.
- Conectar e desconectar é reservado a admins e a quem criou o projeto. Desconectar remove só o vínculo e o token — nada é apagado em nenhum dos lados.