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 |
|---|---|
event | Quando acontece um evento na tarefa, como um comentário novo ou o fim de uma execução. |
at | Uma vez, num horário (--at, em RFC 3339) ou depois de um intervalo (--after 10m). |
every | Repetidamente, a cada intervalo fixo (--every 1h). O mínimo é 1 minuto. |
cron | Repetidamente, 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:
jiraya issue wakeup create ACME-42 --event comment.created --filter-actor-type member --filter-actor-id <user-id> --instruction-file ./instrucao.mdVoltar à tarefa em 30 minutos:
jiraya issue wakeup create ACME-42 --kind at --after 30m --instruction-file ./instrucao.mdConferir a tarefa todo dia às 9h, no horário de Brasília:
jiraya issue wakeup create ACME-42 --kind cron --cron '0 9 * * *' --timezone America/Sao_Paulo --instruction-file ./instrucao.mdAcordar quando uma execução específica terminar, com sucesso ou não:
jiraya issue wakeup create ACME-42 --event task.completed,task.failed,task.cancelled --task-id <run-id> --instruction-file ./instrucao.mdCom --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:
| Grupo | Eventos |
|---|---|
| Execuções | task.queued, task.dispatched, task.started, task.deferred, task.waiting_local_directory, task.completed, task.failed, task.cancelled |
| Tarefa | issue.updated, issue.status_changed, issue.assignee_changed, issue.parent_changed, issue.project_changed, issue.labels_changed, issue.properties_changed, issue.metadata_changed |
| Comentários | comment.created, comment.updated, comment.deleted, comment.resolved, comment.unresolved |
| Reações e anexos | reaction.added, reaction.removed, attachment.attached, attachment.detached |
Vários eventos no mesmo despertar significam "qualquer um deles". Para limitar a origem:
- Execuções:
--task-idpara uma execução específica ou--filter-agent-idpara as execuções de um agente. - Mudanças na tarefa, comentários, reações e anexos:
--filter-actor-type member|agentcom--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
| Comando | O que faz |
|---|---|
jiraya issue wakeup events | Lista 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