Number | Descrizione | ||
---|---|---|---|
1 | Utilizzare la funzione require() all'inizio del codice per importare i moduli Node.js da usare nell'azione personalizzata. Nel codice di esempio, l'azione importa il modulo request per effettuare semplici chiamate HTTP a sistemi di terze parti.
| ||
2 | this.id - Attributo utilizzato come identificatore univoco per l'azione personalizzata. | ||
3 | this.label - Attributo che specifica il nome dell'azione personalizzata.
| ||
4 | this.input - Attributo JSON che definisce i campi di input da visualizzare durante la configurazione dell'azione in un workflow. Esistono tre chiavi JSON per cui è necessario assegnare valori: • title (obbligatoria) - Utilizzata internamente come identificatore. • type (obbligatoria) - Utilizzata internamente. Il valore di questa chiave deve sempre essere impostato su object e non deve essere modificato. • properties (obbligatoria) - Attributo JSON che definisce i campi di input e le eventuali condizioni di convalida visualizzati per l'azione. Ogni campo di input deve disporre di una chiave univoca, come ad esempio first_name, e definire valori per gli elementi seguenti: ◦ title (obbligatorio) - Etichetta visualizzata per il campo, ad esempio First Name. ◦ type (obbligatorio) - Tipo di campo. I tipi validi sono string, object, array ed any. ◦ description (facoltativo) - Messaggio visualizzato come descrizione comando. ◦ minLength (facoltativo) - Indica il numero minimo di caratteri da specificare.
| ||
5 | this.output - Attributo JSON che definisce i campi di output che l'azione restituisce e rende disponibili nel resto del workflow. Esistono tre chiavi JSON per cui è necessario assegnare valori: • title (obbligatoria) - Utilizzata internamente come identificatore. • type (obbligatoria) - Utilizzata internamente. Il valore di questa chiave deve sempre essere impostato su object e non deve essere modificato. • properties (obbligatoria) - Attributo JSON che definisce i campi di output. Ogni campo di output deve disporre di una chiave univoca, come ad esempio status, e definire valori per gli elementi seguenti: ◦ title (obbligatorio) - Etichetta visualizzata per il campo, ad esempio status. ◦ type (obbligatorio) - Tipo di campo. I tipi validi sono string, object, array ed any. | ||
6 | this.execute - Funzione che definisce la logica del programma che viene eseguita quando l'azione viene eseguita all'interno di un workflow. La funzione deve definire i due parametri di funzione seguenti: • input - Oggetto JSON contenente i valori dei parametri di input in fase di esecuzione del workflow. I valori possono essere referenziati mediante le chiavi dei campi di input definite nell'attributo this.input dell'azione. • output - Funzione di callback da chiamare per trasmettere i valori di output al workflow. Indica che l'azione è stata completata. Il formato della funzione è callback(err,output): ◦ err - Viene utilizzato per segnalare eventuali errori che possono essersi verificati nel workflow. Se non si verificano errori, utilizzare null. ◦ output - Oggetto JSON con valori per ciascuna delle chiavi definite nell'attributo this.output dell'azione. |
In caso di migrazione da ThingWorx Flow 8.4.x a ThingWorx Flow 8.5, le azioni personalizzate create in ThingWorx Flow 8.4.x continuano a funzionare in ThingWorx Flow 8.5. Si può aggiungere il supporto della localizzazione per i campi di input e di output dell'azione personalizzata. Non è tuttavia possibile localizzare l'etichetta dell'azione personalizzata creata in ThingWorx Flow 8.4.x. |