Passa al contenuto principale

Rispondere alle approvazioni

Obiettivo: rispondere a un ticket che aspetta una persona, dalla CLI o dalla web UI.

Prerequisiti​

  • afe serve in esecuzione, e la CLI afe puntata su di esso (AFE_API_TOKEN esportata, e --url se il server non è su 127.0.0.1:8765).
  • Un ticket che aspetta una persona.

Un ticket aspetta quando si mette in pausa. Quattro cose causano una pausa:

  • un nodo human fa una domanda.
  • un budget ha superato una soglia o un limite.
  • una tool call è andata in loop.
  • serve un hand-over.

La domanda e le azioni offerte stanno sul ticket. Le azioni dipendono da quale delle quattro ha causato la pausa.

Passi​

  1. Trova i ticket in attesa:

    afe tickets --state needs_human
    afe tickets --state paused_human
    afe tickets --state paused_budget
  2. Leggi la domanda e le azioni che offre:

    afe inspect T-0001
  3. Rispondi dalla CLI con una delle azioni offerte e un commento opzionale:

    afe resume T-0001 approve
    afe resume T-0001 reject --comment "L'introduzione è troppo lunga"

    afe run chiede al prompt quando c'è un terminale. Senza, esce con 2 e stampa il comando afe resume da usare.

  4. Oppure rispondi dalla web UI. Avvia afe serve -c config/ --ui e accedi. Apri Approvals per rispondere a ogni ticket in attesa sul posto, oppure apri la pagina del ticket e scegli l'azione lì. Un'azione che richiede un commento (il requireComment del nodo) apre una conferma in cui il commento è obbligatorio.

Le azioni​

PausaAzioni
Un nodo human (human_request)Le actions del nodo (approve, reject, …). Un rifiuto che nessuno instrada chiede di nuovo con le azioni di hand-over.
Una soglia o un limite di budget (budget_alert)continue, extend, stop. extend allarga la dimensione di metà del suo limite.
Una tool call ripetuta (loop_detected)retry, take_over, close. retry azzera il conteggio.
Un hand-over (needs_human)retry, take_over, close.

take_over ferma il nodo per una persona. Quando hai finito, afe resume TICKET senza azione riavvia il ticket. Vedi Budget per extend, e Git e pull request per l'approvazione che serve a un merge.

Risoluzione dei problemi​

error: action 'stop' is not offered (expected one of [...]) L'azione passata ad afe resume non è una delle azioni attuali del ticket. Esegui di nuovo afe inspect T-0001: le azioni offerte dipendono dalla pausa, e un nodo human rifiutato può passare alle azioni di hand-over.

error: action 'reject' needs a comment Il nodo dichiara requireComment per quell'azione. Passa --comment sulla CLI, oppure compila il campo commento che la conferma della web UI richiede.

afe run esce con 2 senza chiedere nulla Non c'è un terminale a cui chiedere (uno script, un job CI, una pipe). Esegui invece il comando afe resume stampato, una volta che hai una risposta.

Vedi anche​