JavaScript タスク

JavaScript タスクでは、統合用のカスタム JavaScript コード スニペットを作成できます。

JavaScript エディタを使用すると、統合の複雑なデータ マッピングのロジックをコーディングし、変数の割り当てを行い、統合変数の追加や変更を行えます。

JavaScript エディタは、以下の機能をサポートしています。

  • スクリプト コードの概要を表示し、簡単なナビゲーションに役立つミニマップ。
  • コードを読みやすくし、構造の認識を容易にする構文 / コードのハイライト表示、インデント、行番号付け。
  • コードの間違いを検出して追跡するためのエラーのハイライト表示。
  • スクリプト コードの領域の折りたたみと展開。
  • クリックしてコピーするオプション。スクリプト コードをクリップボードにコピーします。

JavaScript タスクを構成する

統合に JavaScript タスクを追加する手順は次のとおりです。

  1. Apigee UI で、Apigee 組織を選択します。
  2. [Develop] > [Integrations] の順にクリックします。
  3. 既存のインテグレーションを選択するか、[Create Integration] をクリックして新しいインテグレーションを作成します。

    新しいインテグレーションを作成する場合:

    1. [Create Integration] ダイアログで名前と説明を入力します。
    2. サポートされているリージョンのリストから、インテグレーションのリージョンを選択します。
    3. [Create] をクリックします。

    インテグレーション デザイナーでインテグレーションが開きます。

  4. インテグレーション デザイナーのナビゲーション バーで、[+ Add a task/trigger] > [Tasks] の順にクリックして、使用可能なタスクのリストを表示します。
  5. 統合エディタで [JavaScript] 要素をクリックして配置します。
  6. デザイナーで [JavaScript] 要素をクリックして、[JavaScript] タスク構成ペインを表示します。
  7. [Open script editor] をクリックし、[JavaScript Editor] を表示して編集します。
  8. [JavaScript Editor] で自動的に作成される executesScript(event) 関数内に JavaScript コードを記述します。完了後エディタを閉じると、すべての変更が自動保存されます。

    統合変数とサポートされる関数へのアクセスについては、JavaScript エディタの使用をご覧ください。

    生成された実行ログの表示については、実行ログをご覧ください。

次の図では、[JavaScript Editor] のサンプル レイアウトを示します。 JavaScript エディタを示す画像 JavaScript エディタを示す画像

JavaScript エディタを使用する

[JavaScript Editor] を表示および編集するには、[JavaScript] タスク構成ペインに移動し、[Open script editor] をクリックします。[JavaScript Editor] には、デフォルトで executesScript(event) という名前の関数が含まれています。

ここで

  • executesScript() は、統合の実行中に Apigee Integration が JavaScript タスクを実行したときに呼び出される関数です。
  • event は、Apigee Integration のメモリ内オブジェクトです。

    イベント オブジェクトのサポートされているメソッドについては、統合変数にアクセスするをご覧ください。

Apigee Integration で使用する JavaScript 実行エンジンは、Rhino 1.7.14 がベースになっており、すべての ES6 構文がサポートされているわけではありません。ES5 構文の予測入力のみがサポートされています。サポートされている ES6 構文をすべて表示するには、Rhino ES2015 サポートをご覧ください。

統合変数にアクセスする

統合で定義された変数には、Apigee Integration のメモリ内イベント オブジェクトを使用して JavaScript エディタからアクセスできます。

JavaScript エディタから統合変数にアクセスするために、次のメソッドがサポートされています。

関数名 説明 使用方法

getEventExecutionInfoId

インテグレーションの実行 ID を返します。

戻り値の型: 文字列

構文: event.getEventExecutionInfoId()

例:

function executeScript(event) {
  event.getEventExecutionInfoId();
  }
      

getGoogleCloudProjectId

Google Cloud プロジェクト ID を返します。

戻り値の型: 文字列

構文: event.getGoogleCloudProjectId()

例:

function executeScript(event) {
  event.getGcpProjectId();
  }

getIntegrationName

統合の現在の名前を返します。

戻り値の型: 文字列

構文: event.getIntegrationName

例:

function executeScript(event) {
  event.getIntegrationName();
  }

getParameter

指定された統合変数の値を返します。

戻り値の型: 統合変数のデータ型

構文: event.getParameter("variable_name")

入力パラメータ: 統合変数名。variable_name が自動生成された変数の場合は、変数をバッククォート(``)で囲みます。例: `responseBody`

例:

function executeScript(event) { 
  event.getParameter("var1");
  }

getRegion

統合リージョンの名前を返します。

戻り値の型: 文字列

構文: event.getRegion()

例:

function executeScript(event) {
  event.getRegion();
  }

log

指定した値を実行ログに書き込みます。

生成された実行ログの表示については、実行ログをご覧ください。

構文: event.log(value)

入力パラメータ: スクリプトで使用される変数または関数。

例 1:

function executeScript(event) {
  event.log(event.getParameter("var1"));
  }

例 2:

function executeScript(event) {
  event.log("Lorem ipsum");
  }

setParameter

統合変数の値を設定または更新します。

構文: event.setParameter("variable_name", "variable_value")

入力パラメータ: この関数は次の引数を取ります。

  • 最初の引数: 変数名。variable_name が自動生成された変数の場合は、変数をバッククォート(``)で囲みます。例: `responseBody`
  • 2 番目の引数: 値。

例:

function executeScript(event) {
  event.setParameter("`responseBody`", "NewStringValue");
  }

タスク パラメータを設定する

統合に JavaScript タスクで使用されていないサイズの大きいパラメータが複数ある場合は、JavaScript タスクの TaskParameter フィールドを設定することでパフォーマンスを改善できます。

JavaScript タスクの TaskParameter フィールドを設定するには、次のいずれかのオプションを選択します。

コンソール

  1. [Application Integration] ページに移動します。

    [Application Integration] に移動

  2. 統合を選択します。統合エディタが開きます。
  3. [アクション] > [統合バージョンのダウンロード] > [統合バージョン] をクリックします。統合バージョンが JSON ファイルとしてダウンロードされます。
  4. エディタで統合バージョン ファイルを開き、次の操作を行います。
    1. タスクが JavaScriptTask である taskConfigs フィールドを探します。parameters フィールドで、script という名前のパラメータを探します。
      "taskConfigs": [{
        "task": "JavaScriptTask",
        "taskId": 1,
        "parameters": {
          "script": {
            "key": "script",
            "value": {
              "stringValue": "function that is called during the JavaScriptTask execution"
            }
        }"
      }]
      
    2. この parameters フィールドに、JavaScriptTask フィールドで使用されるパラメータを追加します。次のテンプレートを使用します:
      "ParamName": {
        "key": "ParamName",
        "value": {
          "stringValue": "$ParamName$"
        }
      }
      
  5. 統合バージョン ファイルに加えた変更を保存します。
  6. 統合に統合バージョン ファイルをアップロードします。

API

  1. 統合バージョンをダウンロードするには、filFormatJSON に設定して projects.locations.integrations.versions.download メソッドを呼び出します。
  2. エディタで統合バージョン ファイルを開き、次の操作を行います。
    1. タスクが JavaScriptTask である taskConfigs フィールドを探します。parameters フィールドで、script という名前のパラメータを探します。
      "taskConfigs": [{
        "task": "JavaScriptTask",
        "taskId": 1,
        "parameters": {
          "script": {
            "key": "script",
            "value": {
              "stringValue": "function that is called during the JavaScriptTask execution"
            }
        }"
      }]
      
    2. この parameters フィールドに、JavaScriptTask フィールドで使用されるパラメータを追加します。次のテンプレートを使用します:
      "ParamName": {
        "key": "ParamName",
        "value": {
          "stringValue": "$ParamName$"
        }
      }
      
  3. 統合バージョンをアップロードするには、更新された統合バージョン ファイルを使用して projects.locations.integrations.versions.upload メソッドを呼び出します。

エラー処理方法

タスクのエラー処理方法では、一時的なエラーによってタスクが失敗した場合のアクションを指定します。エラー処理方式と、さまざまな種類のエラー処理方式の詳細については、エラー処理方法をご覧ください。