Pular para o conteúdo
Issues e projetos

Despertares de issue

Faça um agente voltar a uma tarefa quando algo acontecer nela ou num horário definido, sem deixar nenhuma execução esperando.

Um despertar faz um agente voltar a uma tarefa mais tarde. Em vez de ficar esperando, o agente registra o que quer acompanhar, encerra a execução e recebe uma execução nova quando a condição acontece: um comentário de uma pessoa, o fim de outra execução ou um horário.

Cada despertar pertence a uma tarefa e acorda um agente com uma instrução, o O que fazer ao despertar. A execução que ele inicia é uma execução comum: o agente lê o estado atual da tarefa, decide o que fazer e publica o resultado nos comentários.

Tipos de despertar

Tipo (--kind)Quando dispara
eventQuando acontece um evento na tarefa, como um comentário novo ou o fim de uma execução.
atUma vez, num horário (--at, em RFC 3339) ou depois de um intervalo (--after 10m).
everyRepetidamente, a cada intervalo fixo (--every 1h). O mínimo é 1 minuto.
cronRepetidamente, numa expressão cron de cinco campos, com fuso horário (--timezone, padrão UTC).

Despertares por evento disparam uma vez por padrão; com --mode continuous, continuam ouvindo. Os de every e cron são sempre contínuos.

Criar um despertar

Despertares são criados pela CLI, normalmente pelo próprio agente durante uma execução. Um agente que cria o despertar acorda a si mesmo; uma pessoa precisa indicar o agente com --agent-id e ter permissão para acioná-lo.

Esperar o comentário de uma pessoa:

bash
jiraya issue wakeup create ACME-42 --event comment.created --filter-actor-type member --filter-actor-id <user-id> --instruction-file ./instrucao.md

Voltar à tarefa em 30 minutos:

bash
jiraya issue wakeup create ACME-42 --kind at --after 30m --instruction-file ./instrucao.md

Conferir a tarefa todo dia às 9h, no horário de Brasília:

bash
jiraya issue wakeup create ACME-42 --kind cron --cron '0 9 * * *' --timezone America/Sao_Paulo --instruction-file ./instrucao.md

Acordar quando uma execução específica terminar, com sucesso ou não:

bash
jiraya issue wakeup create ACME-42 --event task.completed,task.failed,task.cancelled --task-id <run-id> --instruction-file ./instrucao.md

Com --parent <comment-id>, o resultado da execução é publicado na mesma conversa do comentário indicado.

Eventos e filtros

jiraya issue wakeup events lista os eventos aceitos. Todos se referem à própria tarefa:

GrupoEventos
Execuçõestask.queued, task.dispatched, task.started, task.deferred, task.waiting_local_directory, task.completed, task.failed, task.cancelled
Tarefaissue.updated, issue.status_changed, issue.assignee_changed, issue.parent_changed, issue.project_changed, issue.labels_changed, issue.properties_changed, issue.metadata_changed
Comentárioscomment.created, comment.updated, comment.deleted, comment.resolved, comment.unresolved
Reações e anexosreaction.added, reaction.removed, attachment.attached, attachment.detached

Vários eventos no mesmo despertar significam "qualquer um deles". Para limitar a origem:

  • Execuções: --task-id para uma execução específica ou --filter-agent-id para as execuções de um agente.
  • Mudanças na tarefa, comentários, reações e anexos: --filter-actor-type member|agent com --filter-actor-id, para reagir só ao que uma pessoa ou um agente fez.

Sem filtro, qualquer evento daquele tipo na tarefa acorda o agente.

Cuidado com ciclos

Eventos causados pela própria execução que registrou o despertar, ou pelas execuções que ele iniciou, são ignorados. Ciclos entre regras diferentes não são evitados: dois despertares contínuos de comentários que se acionam mutuamente rodam sem parar.

Quando um despertar para

  • Ao mover a tarefa para um status de conclusão ou encerramento, como Concluído ou Cancelado, todos os despertares dela são desativados. Reabrir a tarefa não os reativa: é preciso ligá-los de novo.
  • Um despertar de uma vez fica como Acionado depois de iniciar a execução.
  • Um despertar desativado não dispara até ser ligado de novo.

Os horários são conferidos a cada 30 segundos, aproximadamente. Se o runtime estiver desligado, a execução fica na fila até ele voltar. Despertares repetidos não recuperam todos os horários perdidos: eles fazem uma única verificação e seguem para o próximo horário.

Acompanhar no app

  • Na tarefa, a seção Despertares lista os despertares por evento e por horário, com o estado de cada um. Um botão liga e desliga cada despertar, e os detalhes mostram a instrução, os filtros e a última execução.
  • No quadro e na lista, o cartão da tarefa mostra quantos despertares estão ligados e o próximo horário.
  • Em Automação, a aba Despertares de tarefa reúne os despertares de todo o workspace, com busca e filtros, e permite desativar vários de uma vez. Desativar não interrompe execuções que já começaram.

Quem criou o despertar e os proprietários e administradores do workspace podem alterá-lo ou desativá-lo.

Comandos da CLI

ComandoO que faz
jiraya issue wakeup eventsLista os eventos e filtros aceitos.
jiraya issue wakeup create <issue-id>Cria um despertar.
jiraya issue wakeup list <issue-id>Lista os despertares da tarefa.
jiraya issue wakeup get <issue-id> <wakeup-id>Mostra um despertar.
jiraya issue wakeup update <issue-id> <wakeup-id>Substitui toda a configuração e reativa o despertar.
jiraya issue wakeup disable <issue-id> <wakeup-id>Desativa o despertar.

Atualizado em

Nesta página