番号 | 説明 | ||
---|---|---|---|
1 | コードの先頭で関数 require() を使用して、カスタム操作で使用する Node.js モジュールをインポートします。サンプルコードの操作は、サードパーティシステムに対して単純な HTTP 呼び出しを行う request モジュールをインポートしています。
| ||
2 | this.id - カスタム操作の一意の識別子として使用される属性。 | ||
3 | this.label - カスタム操作の名前を指定する属性。
| ||
4 | this.input - ワークフロー内の操作を設定しているときに表示される入力フィールドを定義する JSON 属性。以下の 3 つの JSON キーに値を割り当てる必要があります。 • title - (必須) 内部で識別子として使用されます • type - (必須) 内部で使用されます。このキーの値は必ず object に設定し、これを変更してはなりません。 • properties - (必須) その操作に表示される入力フィールドと検証条件 (存在する場合) を定義する JSON 属性。各入力フィールドは first_name などの一意のキーを持ち、以下のアイテムの値を定義する必要があります。 ◦ title - (必須) そのフィールドに表示されるラベル (「名」など)。 ◦ type - (必須) そのフィールドのタイプ。有効なタイプは string、object、array、any です ◦ description - (オプション) ツールヒントとして表示されるメッセージ。 ◦ minLength - (オプション) 指定する必要がある最小文字数を指定します。
| ||
5 | this.output - 操作から返されてワークフローの残りの部分で使用可能になる出力フィールドを定義する JSON 属性。以下の 3 つの JSON キーに値を割り当てる必要があります。 • title - (必須) 内部で識別子として使用されます。 • type - (必須) 内部で使用されます。このキーの値は必ず object に設定し、これを変更してはなりません。 • properties - (必須) 出力フィールドを定義する JSON 属性。各出力フィールドは status などの一意のキーを持ち、以下のアイテムの値を定義する必要があります。 ◦ title - (必須) そのフィールドに表示されるラベル (status など)。 ◦ type - (必須) そのフィールドのタイプ。有効なタイプは string、object、array、any です。 | ||
6 | this.execute - その操作がワークフロー内で実行されたときに実行されるプログラムロジックを定義する関数。この関数では以下の 2 つの関数パラメータを定義する必要があります。 • input - ワークフロー実行時に入力パラメータの値が格納される JSON オブジェクト。これらの値は、その操作の this.input 属性で定義されている入力フィールドキーを使用して参照できます。 • output - 出力値をワークフローに渡すために呼び出す必要があるコールバック関数。これはその操作が完了したことを示します。この関数は callback(err,output) という形式をとります。 ◦ err - そのワークフローで発生したすべてのエラーを報告します。エラーが発生しなかった場合、Null を使用します。 ◦ output - その操作の this.output 属性で定義されている各キーの値が格納されている JSON オブジェクト。 |
ThingWorx Flow 8.4.x から ThingWorx Flow 8.5 にマイグレーションした場合、ThingWorx Flow 8.4.x で作成されたカスタム操作は引き続き ThingWorx Flow 8.5 でも機能します。カスタム操作の入力フィールドと出力フィールドのローカライズサポートを追加できます。ただし、ThingWorx Flow 8.4.x で作成されたカスタム操作のラベルをローカライズすることはできません。 |