Service Bridge での変換の作成
プロバイダーまたはコンシューマーは、接続されたインスタンス間でタスクを統合するための変換 Service Bridge を作成します。
始める前に
必要なロール:admin
このタスクについて
次の手順では、プロバイダーの変換プロセスについて説明します。コンシューマーは次に移動できます すべて > Service Bridge コンシューマー > 変換 同じプロセスに従います。
手順
- 移動先 すべて > Service Bridge プロバイダー > 管理 > 変換.
- [New (新規)] をクリックします。
-
フォームのフィールドに入力します。
表 : 1. 変換フォーム フィールド 説明 番号 変換レコードに対して自動生成された番号。 会社 この変換が適用されるコンシューマー名。 すべての会社 これを選択すると、同じ会社レベルの変換を持つ会社を除くすべての会社に対して変換が実行されます。
このフィールドを使用して、すべての会社に適用できるデフォルトの変換定義を作成します。[すべての会社] フィールドを使用すると、同様の要件がある場合でも、顧客アカウントごとに特定の変換を定義する必要がなくなります。デフォルトの定義を使用して、すべての会社の特定のフィールドを同時に変換できます。
グローバル変換は、構成に一致し、特定の変換がまだ定義されていない会社にのみ適用されます。同じ構成の会社固有の変換が既に存在する場合は、これによりグローバル変換が上書きされます。
タイプ - シンプル:各インスタンスでフィールドに既知の安定した選択リストがある場合に使用されます。受信値と送信値に一致するように変換ラインの関連リストが作成されます。
- 詳細:新しい値を決定するスクリプトを必要とする複雑な条件に使用されます。
- 仮想受信:仮想受信フィールドを変換するために使用します。新しい値を決定するスクリプトが必要です。
- 仮想送信:仮想送信フィールドを変換するために使用されます。新しい値を決定するスクリプトが必要です。
受信 この変換の受信変換を有効にするオプション。 送信 この変換の送信変換を有効にするオプション。 プロバイダーテーブル プロバイダーのタスクテーブルを指定するオプション。たとえば、ケースなどです。 プロバイダーフィールド プロバイダーのフィールドを指定するオプション。たとえば、都道府県。 コンシューマーテーブル コンシューマーのタスクテーブルを指定するオプション。たとえば、インシデント。 コンシューマーフィールド コンシューマーのフィールドを指定するオプション。たとえば、都道府県。 受信フィールド [Type field] が [Virtual Inbound] に設定されている場合、このフィールドは、この変換が入力する仮想フィールドを参照するために使用できます。 送信フィールド [Type field] が [Virtual Outbound] に設定されている場合、このフィールドは、この変換が入力する仮想フィールドを参照するために使用できます。 - [Save (保存)] をクリックします。
-
次のいずれかを選択します。
- 簡単: [明細行の変換] 関連リストで [新規 ] をクリックし、フォームのフィールドに入力します。
表 : 2. ラインの変換フォーム フィールド 説明 プロバイダーラベル プロバイダーの選択肢ラベルを指定するオプション。たとえば、[開く] などです。 プロバイダー値 プロバイダーの選択値を指定するオプション。たとえば、10 です。 顧客ラベル 顧客の選択ラベルを指定するオプション。たとえば、進捗状況です。 顧客価値 顧客の選択値を指定するオプション。例では 2。 - 詳細:次の例に示すように、スクリプトを使用して送信ラベルと受信ラベルと値を定義します。
output.value=input.value; output.label=input.label; var ci=new GlideRecord('cmdb_ci'); if(direction=='inbound'){ if(ci.get('correlation_id',input.value)){ output.value=ci.sys_id+"; output.label=ci.getDisplayValue(); } } if (direction=='outbound'){ if(ci.get(input.value)){ if(ci.correlation_id){ output.value=ci.correlation_id+"; output.label=input.label; } } } - 仮想受信:次の例に示すように、スクリプトを使用して受信のラベルと値を決定します。
var inputArr = input.value.split(','); var outputValues = []; var outputLabels = []; for (i in inputArr) { getInstanceID(inputArr[i]); } output.value = outputValues+''; output.label = outputLabels+''; function getInstanceID(name) { var gr = new GlideRecord('cmdb_ci_server'); if (gr.get('name', name)) { outputValues.push(gr.sys_id+''); outputLabels.push(name); } } - 仮想送信:次の例に示すように、スクリプトを使用して送信ラベルと値を決定します。
/* ** The 'input' object contains the original value and label ** 'direction' contains an 'inbound' or 'outbound' value to determine transform direction ** 'object_data' contains the Remote Task GlideRecord ** It is required to set the variables 'output.value' and 'output.label' with your script. */ output.value = 'condev,conprod'; output.label = 'condev,conprod';
- 簡単: [明細行の変換] 関連リストで [新規 ] をクリックし、フォームのフィールドに入力します。
- [Submit (送信)] をクリックします。
- 変換フォームで、[ アクティブ化] をクリックします。
タスクの結果
インスタンスに ServiceNow® 変換レコードが作成されます。変換に一致するリモートタスクの受信フィールドまたは送信フィールドは、自動的にそれらを使用します。詳細については、「プロバイダー向けでの Service Bridge リモートタスク定義の作成」を参照してください。