Pular para o conteúdo

Ações das automações

A cadeia de ações que roda depois do gatilho: comando, nota, pedido a um agente, agente novo no Canvas, conversa e notificação.

Ver Markdown

Depois do gatilho, a automação roda uma cadeia de ações, em ordem. Use faça isto para a primeira e mais uma ação para encadear outras. Em cada ação há Trocar tipo, Subir, Descer e Remover ação.

A cadeia para na primeira falha. Se a ação 2 falha, a 3 não roda, e o histórico diz em qual ação parou (“Falhou na ação 2”).

Lista de tipos de ação: Agente num workspace, Prompt para um agente, Novo agente no Canvas, Abrir conversa, Comando no terminal e outras

Comando no terminal

Roda um comando num terminal do workspace da automação.

  • Comando: o texto que o terminal recebe, como pnpm test.
  • O comando tem 300 segundos para terminar. Se estourar, a ação falha com “O comando estourou o tempo limite”. Saída diferente de zero também falha a ação (“O comando saiu com código N”).
  • Ainda não roda em projeto remoto (SSH). O editor recusa e pede outra ação ou um projeto local.

Gravar na memória ou numa nota

Acrescenta um texto ao fim de uma nota do Canvas do projeto. Escolha Gravar em, Nota do Canvas, a nota e o texto. Se o projeto não tem notas, crie uma no Canvas e volte.

Gravar na memória do projeto ainda não está disponível para automações: a ação falha e o histórico diz isso.

Prompt para um agente

Manda um pedido a um agente que já está num cartão. O Elyra escreve o texto do pedido no terminal do cartão e envia com Enter, como se você tivesse digitado.

  • Escolha o agente (um cartão do projeto) e o texto em O que ela pede. O texto aceita skills, caminhos de arquivo e comandos, como no compositor.
  • O cartão precisa existir e ter uma sessão ativa. Sem isso a ação falha (“O cartão não tem sessão ativa no momento”).
  • Se não há nenhum cartão de agente no projeto, crie um no Canvas e volte.

Novo agente no Canvas

Cria um cartão de agente no Canvas, ligado a um cartão que você escolhe (Ligado a), e envia o pedido inicial.

  • Agente: qual agente abrir.
  • Abrir como: Terminal ou Conversa. Prefira Terminal: a conversa deste agente ainda é experimental, e com Conversa a execução falha se o recurso não estiver ligado em Ajustes > Experimental.
  • O cartão de origem precisa continuar existindo (“O cartão de origem não existe mais”).

Abrir conversa

Abre uma conversa nova (tela de Conversa) com o pedido já enviado. Escolha o agente.

Agente num workspace

É a ação “rode o agente no meu projeto”: abre um agente no workspace da automação e manda o pedido. É a que mais se parece com o que as automações sempre fizeram.

  • Agente e O que ela pede.
  • Onde roda vem da frase: o workspace escolhido, ou um novo a cada execução.
  • Com workspace existente, a sessão do agente pode ser Nova a cada execução ou Reaproveitar a anterior.
  • Com workspace novo a cada execução, escolha Criar a partir de uma branch (a branch base). O padrão é a do projeto. Há também a opção de rodar a preparação do projeto no workspace novo.

Notificação

Mostra uma notificação do sistema, com título e mensagem.

Qual ação escolher

Quero… Use
Rodar testes ou um script Comando no terminal
Que um agente trabalhe no projeto Agente num workspace
Falar com um agente que já está aberto Prompt para um agente
Um agente novo no Canvas, visível e ligado a outro cartão Novo agente no Canvas
Deixar um registro Gravar na memória ou numa nota
Ser avisado Notificação

Exemplo: testar e avisar

  1. Quando: Git do projeto, evento commit.
  2. Ação 1: Comando no terminal, pnpm test.
  3. Ação 2: Notificação, título “Testes concluídos”.

Se os testes falham, a ação 1 falha, a notificação não é mostrada e o histórico diz “Falhou na ação 1”.

Servidor sem janela

No servidor do Elyra Cloud, que roda sem janela, a cadeia executa do mesmo jeito, mas duas ações não têm onde aparecer: Notificação (“A notificação não está disponível no servidor sem janela”) e Abrir conversa (“A conversa não está disponível no servidor sem janela”). A gravação na memória também continua indisponível. Veja Webhook, GitHub e GitLab.

Pela linha de comando

As ações vão em --actions, uma lista JSON com uma ou mais ações, em ordem. Cada ação tem kind:

kind Campos
run-terminal-command command; opcionais workspaceId, timeoutSeconds
write-memory-or-note target (note ou memory), content; opcional noteId
prompt-existing-agent cardId, prompt
create-canvas-agent parentCardId, initialPrompt, agentId; opcional surface (terminal ou chat)
open-conversation opcionais provider, initialPrompt
notify title, body
create-work-item columnId, title; opcional description
move-work-item itemId, toColumnId; opcional toIndex (índice a partir de 0)
update-work-item itemId e ao menos um entre title, description, assignee ({agentId,displayName} ou null para remover)
create-work-column label
rename-work-column columnId, label
move-work-column columnId, toIndex (índice a partir de 0)
run-agent-in-workspace prompt, agentId, workspaceMode (existing ou new_per_run); opcionais workspaceId, reuseSession, baseBranch

As ações de tarefa e coluna usam o Quadro do projeto da automação. Para editar uma tarefa, os campos omitidos ficam como estão; assignee: null remove a atribuição. No editor, Não alterar preserva o responsável e Sem responsável remove a atribuição.

Janela do terminal
elyra automations create --name "Testes a cada commit" \
--trigger daily --prompt "Testes a cada commit" --provider codex --repo meu-projeto \
--trigger-json '{"kind":"git-local","repoId":"meu-projeto","events":["commit"]}' \
--actions '[{"kind":"run-terminal-command","command":"pnpm test"},{"kind":"notify","title":"Testes","body":"Terminaram"}]'

Ao editar com elyra automations edit, --actions troca a cadeia inteira.

Ver também