Skip to main content

Run Workflow v.3

Run Workflow v.3 | Sybot Documentation

Run Workflow v.3

  • Task type: runworkflow_v3

Descrizione

Il task "Run Workflow v.3" permette di eseguire un workflow secondario (figlio) all'interno di un processo principale (padre). Questo task facilita la modularizzazione dei flussi di lavoro e lo scambio di dati tra workflow diversi.

Parametri di Configurazione

  • Filtra Workflow: Campo di ricerca per individuare rapidamente il processo desiderato.
  • Workflow da eseguire: Menu (Dropdown) che elenca i workflow a cui l'utente ha accesso.
  • Tabella Parametri (Parametro / Tipo / Valore): Questa sezione si popola dinamicamente con i parametri di input definiti nel workflow figlio selezionato.
  • Se il workflow figlio non prevede input, la tabella rimarrà vuota.
  • Permette di passare valori (statici o dinamici tramite tag come #>Param<#) dal padre al figlio.

Logica di Esecuzione e Fallimento

  • Indipendenza degli errori: Se l'esecuzione del workflow figlio fallisce, il task "Run Workflow v.2" nel workflow padre non fallisce.
  • Condizioni di fallimento del task: Il task fallisce se il workflow figlio non può essere avviato, ad esempio perché è attualmente bloccato/in modifica da un altro utente.

Parametri di Output

  • result: Messaggio informativo sull'esito della chiamata (es: Workflow wf_child eseguito con stato Success).
  • resultJSON: Risultato dell'esecuzione del task corrente in formato JSON.
  • targetWorkflowId: ID univoco del workflow figlio eseguito.
  • targetWorkflowName: Nome del workflow figlio eseguito.
  • resultJSONtarget: Stringa JSON contenente l'intero report di esecuzione del workflow figlio (inclusi i risultati di ogni singolo task interno). Questo parametro di output è utile per ottenere informazioni sulle esecuzioni dei workflow figli: i dati possono essere estratti direttamente utilizzando task con query JSONPath.
  • exitStatus: Codice di stato dell'operazione (0 indica che l'avvio è riuscito).
  • outputVars: Variabili di output esposte dinamicamente dal workflow figlio (se presenti).

Output Vars

Se il workflow figlio contiene un task Dichiara Variabili, le variabili definite in quel task vengono esposte come output del task Run Workflow v.3 nel workflow padre.

I valori restituiti corrispondono allo stato finale delle variabili nel workflow figlio, eventualmente modificato tramite task Imposta Variabili.

Se il workflow figlio non contiene un task Dichiara Variabili, la sezione outputVars non sarà vuota.

Esempio resultJson

{
"id": 19859,
"name": "Run Workflow v.3",
"description": "",
"type": "runworkflow_v3",
"type_name": "Run Workflow v.3",
"type_description": "Esegue un workflow",
"config": {
"overrides": [],
"output_vars": {
"x": ["string", "test"],
"num": ["number", "45"]
},
"output_links": [
{
"to": "[TASK ...]",
"from": "[TASK ...]",
"text": "Condizione ...",
"color": "green",
"points": [ ... ],
"toPort": "left2",
"fromPort": "port_...",
"isTraversed": true
}
],
"target_workflow_id": 1997,
"result_target_workflow": [
{
"id": 1997,
"name": "dev_print",
"run_info": {
"tasks": [
{
"id": 19279,
"name": "Declare variables",
"type": "manage-vars",
"config": {
"vars": {
"x": ["string", "test"],
"num": ["number", "45"]
},
"output_links": [ { ... } ]
},
"run_info": {
"run_id": 1504008,
"status": "Completed",
"start_datetime": "2026-04-21 ...",
"end_datetime": "2026-04-21 ...",
"run_result": "Success",
"result_text": "{\"x\":\"test\",\"num\":45}",
"full_result_text": "{...}"
},
"type_name": "Dichiara Variabili",
"description": "",
"type_description": "Dichiara variabili nel workflow",
"output_parameters": {
"x": "test",
"num": "45",
"exitStatus": "0"
}
},
{
"id": 18651,
"name": "Run Script Python",
"type": "script_py",
"config": {
"python_editor": "print(\"#>data<#\")",
"ssh_password": "encrypted_password...",
"...": "..."
},
"run_info": {
"run_id": 1504003,
"status": "Completed",
"start_datetime": "2026-04-21 ...",
"end_datetime": "2026-04-21 ...",
"run_result": "Success",
"result_text": ""
},
"type_name": "Run Script Python",
"description": "",
"type_description": "Esegue script in python",
"output_parameters": {
"exitStatus": "0"
}
}
],
"run_id": 61978,
"status": "Completed",
"duration": 0,
"run_user": "user_test",
"end_epoch": 1776766201,
"parameters": [
{
"name": "data",
"type": "string",
"value": ""
},
{
"name": "test_string",
"type": "string",
"value": ""
}
],
"run_result": "Success",
"start_epoch": 1776766201,
"end_datetime": "2026-04-21 ...",
"start_datetime": "2026-04-21 ..."
},
"description": ""
}
]
},
"run_info": {
"run_id": 1503994,
"start_datetime": "2026-04-21 ...",
"end_datetime": "2026-04-21 ...",
"start_epoch": 1776766200.77,
"end_epoch": 1776766201.54,
"duration": 1,
"status": "Completed",
"cmd_text": "",
"run_result": "Success",
"result_text": "Workflow dev_print eseguito con stato Success",
"full_result_text": "Workflow dev_print eseguito con stato Success"
},
"output_parameters": {
"x": "test", //output var
"num": "45", //output var
"exitStatus": "0",
"resultJSONtarget": "{ \"id\": 1997, \"name\": \"dev_print\", \"run_info\": { ... } }",
"targetWorkflowId": "1997",
"targetWorkflowName": "dev_print"
}
}