Todas as coleções

Criando e copiando entidades

Os comandos new e copy criam ou duplicam entidades do Bubble com o formato correto e novos ids. Eles atualizam o workspace localmente para que um buildprint apply subsequente envie as alterações de volta para o Bubble.

Ambos os comandos devem ser executados de dentro de um workspace de branch. O nome da pasta da branch deve corresponder à branch do git atual - se não, a CLI imprimirá o comando exato de git checkout ou cd para executar.

Criando entidades: new

Páginas, elementos reutilizáveis, visualizações mobile

buildprint new page --name "Checkout"
buildprint new reusable --name "Header" --element-type Group
buildprint new mobile_reusable --name "Nav" --element-type Group
buildprint new mobile --name "Home"

Use --copy <id-or-name> em qualquer um destes para clonar uma raiz existente com novos ids.

Tipos de dados

buildprint new data_type --name Order --field status:text --field owner:user --field total:number

Cada --field é display:value (por exemplo owner:user). Repita a flag para cada campo. Passe --exposed-api para expor o tipo na Data API.

Novos tipos de dados vêm com uma regra de privacidade padrão: todos podem ver o registro, e apenas o criador é visível por padrão. Restrinja-a no arquivo do workspace antes de aplicar.

Option sets

buildprint new option_set --name OrderStatus --value Pending --value Paid --value Cancelled

Os valores aceitam um display simples (Paid, o valor do banco de dados é derivado automaticamente) ou um par explícito Display:db_value. Repita --value para cada opção. Use --attribute display:value para definir atributos no set.

Workflows

buildprint new workflow --path api --name "Create Order" --type APIEvent --param items:text[] --returnParam id:text
buildprint new workflow --path pages/home/workflows --name "Click Buy" --type ButtonClicked

Flags importantes:

  • --path — raiz proprietária. api para workflows de API, pages/<page-id>/workflows, element-definitions/<id>/workflows, e assim por diante. Subpastas são permitidas (pages/home/workflows/modals).

  • --type — um dos tipos de workflow do Bubble (APIEvent, CustomEvent, ButtonClicked, PageLoaded, ConditionTrue, etc).

  • --param <spec> — repita para cada parâmetro de entrada. Sintaxe da spec: name:type, com [] opcional para lista e ? para anulável. Exemplo: users:user[]?. Coloque o valor entre aspas no zsh.

  • --returnParam <spec> — válido apenas para APIEvent (backend workflow) e CustomEvent (evento personalizado). Adiciona uma ação de retorno final automaticamente, bem como as propriedades de dados de retorno para eventos personalizados.

  • --folder <name> — coloca o workflow em uma subpasta nomeada sob o caminho proprietário.

  • --actions <count> — preenche o workflow com N ações vazias.

Ações

buildprint new action --path api/create-order --type CreateThing
buildprint new action --path api/create-order --type SetState --after 2
  • --path — caminho para o arquivo do workflow.

  • --after <step-or-id> e --before <step-or-id> — mutuamente exclusivos. Aceita um índice de passo baseado em zero ou um id de ação.

  • --name <override> — dá à ação um nome de exibição explícito.

A inserção no meio de um workflow é recusada se qualquer ação posterior referenciar seus predecessores, pois o deslocamento dos passos quebraria silenciosamente essas referências. O erro lista as ações de bloqueio; resolva-as (ou adicione ao final) e tente novamente.

Pastas

buildprint new folder --path api --name "Billing"

Cria uma pasta de workflow sob o caminho proprietário fornecido. Falha se a pasta já existir.

Copiando entidades: copy

Copiar uma raiz

buildprint copy root --kind page --source "Checkout" --name "Checkout Copy"

--kind é um de page, mobile, reusable, mobile_reusable. --source aceita um nome de exibição ou id.

Copiar um workflow

buildprint copy workflow --source api/create-order --path api --folder "Billing" --name "create-order-v2"

Duplica um workflow em um proprietário ou pasta diferente, reescrevendo ids e removendo metadados de alias.

Copiar uma subárvore de elementos

buildprint copy element --source pages/home/elements/grp_header --path pages/checkout

Copia o elemento e seus descendentes sob o pai de destino.

Copiar ações

buildprint copy action --from api/create-order --path api/refund-order --source 0 --source 1 --after 2
  • --source — repita para cada passo que deseja copiar. Aceita um índice de passo ou um id de ação.

  • --name — permitido apenas ao copiar exatamente uma ação.

  • --after e --before — pontos de inserção mutuamente exclusivos. Omita para adicionar ao final.

O comando copy recusa mover ações cujas referências de PreviousStep apontem para fora do conjunto copiado — o workflow resultante ficaria quebrado. A mensagem de erro informa qual ação está bloqueando e por quê.

Gerando ids manualmente

Se você precisar de novos ids do Buildprint para uma edição manual, use buildprint utils generate-ids <n>. n deve estar entre 1 e 100. Mantenha-os curtos.

Você também pode criar quaisquer entidades manualmente. O buildprint new é simplesmente um atalho para facilitar na maioria dos casos.

Isso foi útil?