query.
Esta página é a referência da linguagem. Para saber quais dados cada automação recebe, veja Variáveis nas automações.
Conceitos-chave
Variáveis dinâmicas
Acesse dados com chaves delimitadas por
{{ ... }}.Exemplos:{{ project.name }}{{ project.customer.name }}{{ user.email }}
Condicionais (if/else)
Mostre conteúdos diferentes conforme uma condição.
Loops (for)
Percorra uma lista e repita um trecho para cada item.
Filtros
Transforme um valor antes de exibi-lo.Exemplos:
{{ project.name|upper }}{{ project.created_at|date("d/m/Y") }}{{ project.users|length }}
Variáveis dinâmicas
Uma variável insere no texto um dado do contexto, como o nome do projeto ou do cliente.Sintaxe básica
- Variáveis simples
- Variáveis aninhadas
- Arrays e listas
Verificação de existência
Nem toda variável existe em todo contexto. A variáveluser, por exemplo, só existe quando uma pessoa disparou a automação. Para evitar erro, verifique a variável com is defined antes de usá-la:
Condicionais
Uma condicional mostra um trecho ou outro conforme o valor de um dado.Estrutura if/else
- If simples
- If/Else
- If/Elseif/Else
Operadores de comparação
Os operadores abaixo servem dentro deif e elseif:
Igualdade e diferença
Igualdade e diferença
Comparações numéricas
Comparações numéricas
Operadores lógicos
Operadores lógicos
Testes especiais
Testes especiais
Loops (for)
Um laço (for) percorre uma lista e repete um trecho para cada item.
Estrutura básica
- Lista simples
- Com índice
- Com condicionais
- Loop vazio
Loops com ranges
Um range, como1..5, gera uma sequência numérica para o laço percorrer:
Filtros
Um filtro transforma um valor antes de exibi-lo. Ele vem depois de uma barra vertical (|), e vários filtros podem ser encadeados.
Sintaxe de filtros
- Texto
- Números
- Datas
- Arrays
- Objetos
Outros filtros úteis
Estes filtros completam a lista:mention
mention
default
default
Define um valor padrão se a variável for vazia.
escape
escape
Escapa caracteres especiais para segurança.
json
json
Converte para JSON. Serve para inspecionar um dado no registro de execução e para devolver uma lista em campos que esperam lista.
Funções de consulta
Nem tudo que você precisa está disponível no contexto. A funçãoquery busca o que falta, direto da plataforma, no meio da expressão.
Sintaxe
query quase sempre vem com set:
Consultas disponíveis
A tabela lista as consultas, os parâmetros de cada uma e o que elas devolvem:Exemplos
- Etiquetas do projeto
- Respostas de um formulário
- E-mail de um responsável
- Descobrir o formato
Etiquetas não vêm carregadas no contexto — é preciso buscá-las:
Cuidados
Limite de consultas
Limite de consultas
Cada expressão pode executar no máximo 50 consultas. Um
query dentro de um laço conta uma vez por iteração — cuidado ao consultar dentro de for.Quando a consulta não encontra nada
Quando a consulta não encontra nada
O retorno é nulo. Proteja antes de usar:
Nome ou parâmetro errado
Nome ou parâmetro errado
Um nome de consulta que não existe, ou a falta de um parâmetro obrigatório, interrompe a expressão e registra
template_error. O registro de execução mostra a mensagem. Corrija o nome ou o parâmetro conforme a tabela de consultas disponíveis.Escopo e repetição
Escopo e repetição
As consultas são resolvidas sempre dentro da sua própria conta — não há como acessar dados de outra. E a mesma consulta, com os mesmos parâmetros, é reaproveitada em vez de repetida.
Variáveis nas automações
O que já vem carregado no contexto de uma automação — e, portanto, dispensa
query.Formulários dinâmicos e o pivot
O que é o
pivot, por que ele muda de formato e como descobrir o endereço certo.Como funciona o mecanismo
A sintaxe avançada é baseada no Twig, uma linguagem de templates. A Olie roda as expressões em um ambiente controlado: só um conjunto conhecido de blocos, filtros e funções é permitido, e há limites de laço, consultas e tempo. Os valores estão em Limites do mecanismo. A documentação oficial do Twig explica a linguagem em detalhe. Um recurso do Twig que não aparece nesta página pode não estar liberado na Olie.Documentação do Twig
A referência completa da linguagem Twig.