Run Workflow
- Task type:
runworkflow
Il task Run Workflow è un componente fondamentale per la creazione di processi complessi e modulari. La sua funzione è quella di lanciare l'esecuzione di un Workflow "figlio" da un Workflow "padre", permettendo di passare dati e parametri dal padre al figlio.
Questo approccio consente di:
- Riusare logiche complesse: Un Workflow che esegue un'operazione comune (es. recuperare dati utente) può essere creato una volta e richiamato da molti altri Workflow.
- Semplificare i diagrammi: Suddivide un processo monolitico e complesso in sotto-processi più piccoli, semplici e manutenibili.
- Gestire flussi di lavoro in parallelo o in sequenza: Avviare un'automazione secondaria al termine di una primaria.
Configurazione
La configurazione del Task è suddivisa in due aree principali.
1. Workflow da Eseguire
- Filtra Workflow: Consente di filtrare la lista dei Workflow da avviare.
- Workflow da Eseguire: Consente di selezionare il Workflow “figlio” da avviare. L’elenco mostra tutti i workflow disponibili in base ai permessi dell’utente.
2. Configurazione dei Parametri
Questa sezione gestisce lo scambio di dati tra il Workflow padre e il Workflow figlio. I parametri disponibili in questa area derivano esclusivamente dai parametri dichiarati nel Workflow figlio: solo i parametri preventivamente definiti nel Workflow figlio possono essere valorizzati in questa sezione.
Per ciascun parametro è possibile specificare:
- Parametro: Indica il nome del parametro così come è stato definito nel Workflow figlio. Il nome non è modificabile e serve a garantire la corretta associazione del valore passato.
- Tipo: Mostra il tipo di dato del parametro (ad es. String, Number, Boolean, ecc.), coerente con la definizione nel Workflow figlio.
- Valore: Definisce il valore che verrà passato al parametro al momento dell'avvio del Workflow figlio. Il valore può essere valorizzato manualmente (ad es.
123,"Errore") o tramite parametri e variabili del workflow.
Parametri di Output
I Parametri di Output del Task sono:
- targetWorkflow: Restituisce il nome del Workflow "Figlio" che è stato eseguito.
- result: Restituisce un messaggio testuale che descrive l’esito dell’operazione di avvio del Workflow figlio.
- resultJson: Rappresenta il risultato dell’esecuzione del task in formato JSON, includendo informazioni generali, configurazioni e dettagli sull’esecuzione.
- resultJsonTarget: Rappresenta il risultato dell’esecuzione del Workflow figlio in formato JSON, includendo informazioni generali, configurazioni e dettagli sull’esecuzione. Questo parametro consente di riutilizzare i dati elaborati dal Workflow figlio all'interno del Workflow padre. Il contenuto JSON può essere interrogato tramite il Task JSONPath Query oppure utilizzato dal Task JSON to Table per scrivere i dati in una tabella di un database.
Note Importanti
Possono essere eseguiti solo i workflow che non risultano bloccati in modifica al momento dell'esecuzione. Se un utente sta modificando il workflow figlio quando il padre tenta di avviarlo, l'operazione potrebbe fallire.
Esempio resultJson
{
"run_info": {
"status": "Completed",
"run_result": "Success"
},
"output_parameters": {
"exitStatus": "0"
}
}