Webhook を使用したジョブの作成

ライセンス:

この機能には、ArcGIS Workflow Manager Server Advanced ロールのライセンスが必要です。

Webhook を使用すると、特定のアクションまたはイベントが発生したときに、アプリケーションから他のアプリケーションとサービスに情報を送信できます。 ArcGIS Workflow Manager は Webhook ペイロードのレシーバーとしての役割を果たすので、これを使用して、受信した Webhook の情報を処理し、指定したジョブ テンプレートからジョブを自動的に作成できます。 また、受信した Webhook のペイロードをファイルとして保存してジョブに添付し、そのジョブ全体で使用できるカスタム出力値を構成できます。

11.2 以降、すべての受信用の Webhook にヘッダー セキュリティが必要です。 Workflow Manager がヘッダー セキュリティを含まない Webhook を使用できるようにするには、Workflow Manager 構成ファイルallowUnsecureWebhooks プロパティを true に設定する必要があります。

注意:

ワークフロー アイテムを最新バージョンにアップグレードしないと、既存の Webhook は動作しません。

受信用の Webhook の作成

受信用の Webhook を作成するには、次の手順を実行します。

  1. Workflow Manager Web アプリにアクセスします。
  2. [設計] タブをクリックします。

    [設計] ページが開きます。

    注意:

    十分な権限がない場合は、[設計] タブは使用できません。

  3. [ジョブ テンプレート] Job Templates をクリックします。

    [ジョブ テンプレート] パネルが表示されます。

  4. 受信用の Webhook を作成するジョブ テンプレートを選択します。

    パネルにジョブ テンプレートが表示されます。

  5. [自動化されたアクション] タブをクリックします。

    ArcGIS Workflow Manager Server Advanced ロールのライセンスも十分な権限も持っていない場合は、自動化されたアクションを構成できません。

  6. [Webhook ジョブの作成] セクションで、[Webhook の追加] をクリックします。

    [Webhook の作成] ダイアログ ボックスが表示されます。

  7. [名前] テキスト ボックスに Webhook の名前を入力します。
  8. ユーザー名とパスワードを [ユーザー名] テキスト ボックスと [パスワード] テキスト ボックスにそれぞれ入力して、受信用の Webhook の認証情報を作成します。

    また、[ユーザー名] テキスト ボックスと [パスワード] テキスト ボックスで ArcGIS Arcadeを使用し、暗号化されたユーザー定義の設定を使用してこれらの値を動的に設定することもできます。

    注意:

    [ユーザー名] テキスト ボックスと [パスワード] テキスト ボックスに入力した情報は暗号化されません。 Webhook 認証情報を安全に保存するために、暗号化されたユーザー定義の設定を作成することをお勧めします。

    ヒント:

    [この入力は Arcade 条件式をサポートします] ボタン This input supports Arcade expressions をクリックし、ArcGIS Arcadeを選択して関連するテキスト ボックスに追加します。

  9. 必要に応じて、[代替のユーザー名とパスワード] をオンにし、[代替のユーザー名] テキスト ボックスと [代替のパスワード] テキスト ボックスに、認証情報のバックアップ セットを入力します。

    また、[ユーザー名] テキスト ボックスと [パスワード] テキスト ボックスで ArcGIS Arcadeを使用し、暗号化されたユーザー定義の設定を使用してこれらの値を動的に設定することもできます。

    注意:

    [代替のユーザー名] テキスト ボックスと [代替のパスワード] テキスト ボックスに入力した情報は暗号化されません。 Webhook 認証情報を安全に保存するために、暗号化されたユーザー定義の設定を作成することをお勧めします。

  10. [ヘッダーのセキュリティ] セクションで認証方法を選択します。
    注意:

    受信用のフィーチャ サービス Webhook では、認証に [ArcGIS Webhook] メソッドを使用する必要があります。

    • [シンプル] - 定義されたヘッダーとシークレットを照合して、受信したリクエストを検証します。

      [ヘッダー名] テキスト ボックスと [値] テキスト ボックスに認証の値を入力します。

    • [ArcGIS Webhook] - 共有のシークレット キーから生成されたハッシュ関数を照合して、受信したリクエストを検証します。

      [シークレット] テキスト ボックスに値を入力します。

  11. 必要に応じて、[ペイロード] タブをクリックし、[レスポンスの添付] をオンにして受信用の Webhook のペイロードをファイルとして保存し、ジョブに添付します。
  12. 必要に応じて、次の手順を実行し、添付ファイル名と格納先のフォルダーを構成します。
    1. 添付ファイルが格納されるフォルダーの名前を [フォルダー名] テキスト ボックスに入力します。

      フォルダー名にファイル システム パスまたは特殊文字を含めることはできません。 フォルダー名が入力されない場合、General という名前のフォルダーが自動的に作成されます

      注意:

      フォルダーは、ワークフロー アイテムに含まれるため、ファイル システム パスではありません。

    2. 次の [添付ファイル名] オプションのうちの 1 つを選択します。
      • [自動生成] - 構文 (<StepName>_<RunDate>_<RunTime>) に従って、添付ファイル名を自動的に付与します。
      • [カスタム] - カスタムの添付ファイル名を入力できます。
  13. 必要に応じて、次の手順を実行し、受信した Webhook のペイロードを解析して、カスタム出力値を構成します。
    1. 受信した Webhook のソースがフィーチャ サービス Webhook である場合は、必要に応じて [変更の抽出] チェックボックスをオンにして、出力値で抽出した変更を使用します。
    2. [出力値] セクションの [モードのテスト] 切り替えボタンをクリックします。
    3. 受信用の Webhook のペイロードの例を [サンプル レスポンス] テキスト ボックスに貼り付けます。

      JSON 形式によるペイロードの例:

      {"spatialReference": {
        "wkid": 4326,
        "latestWkid": 4326
      },
      "location": [
        {
          "name": "380 New York Street",
          "extent": {
            "xmin": -117.196701,
            "ymin": 34.055489
          }
        }
      ]}
    4. [出力とパスの追加] をクリックします。
    5. [出力値] テキスト ボックスに出力値の名前を入力します。

      これは、カスタム出力値の取得に使用される値の名前です。

    6. [抽出パス] テキスト ボックスに格納する値の JSONPath 式をドット記法またはブラケット記法で入力します。

      ドット記法による JSONPath の例:

      $location.0.name

      ブラケット記法による JSONPath の例:

      $['location'][0]['name']

      値は [サンプル結果] 列に表示されます。

    7. 必要に応じて、サブステップ c ~ f を繰り返し、さらにカスタム出力値を追加します。
  14. [保存] をクリックします。

    [Webhook ジョブの作成] セクションに受信 Webhook が表示されます。

  15. [保存] をクリックして、ジョブ テンプレートを保存します。

    Webhook に ID と URL が割り当てられます。

  16. Webhook の上にカーソルを置き、[URL のコピー] Copy Step ID をクリックして受信用の Webhook の URL をクリップボードにコピーし、アプリケーションで使用できるように構成します。

受信用の Webhook の編集

受信用の Webhook を編集するには、次の手順を実行します。

  1. Workflow Manager Web アプリにアクセスします。
  2. [設計] タブをクリックします。

    [設計] ページが開きます。

    注意:

    十分な権限がない場合は、[設計] タブは使用できません。

  3. [ジョブ テンプレート] Job Templates をクリックします。

    [ジョブ テンプレート] パネルが表示されます。

  4. 編集する受信用の Webhook を含むジョブ テンプレートを選択します。

    パネルにジョブ テンプレートが表示されます。

  5. [自動化されたアクション] タブをクリックします。

    ArcGIS Workflow Manager Server Advanced ロールのライセンスも十分な権限も持っていない場合は、自動化されたアクションを構成できません。

  6. [Webhook ジョブの作成] セクションで、編集する受信用の Webhook にポインターを合わせて、[編集] をクリックします。

    [Webhook の作成] ダイアログ ボックスが表示されます。

  7. 必要に応じて、受信用の Webhook の設定を更新します。
  8. [保存] をクリックして変更内容を保存します。
  9. [保存] をクリックして、ジョブ テンプレートを保存します。

    受信用の Webhook が更新されます。

受信用の Webhook の削除

受信用の Webhook を削除すると元に戻せません。 受信用の Webhook を削除するには、次の手順を実行します。

  1. Workflow Manager Web アプリにアクセスします。
  2. [設計] タブをクリックします。

    [設計] ページが開きます。

    注意:

    十分な権限がない場合は、[設計] タブは使用できません。

  3. [ジョブ テンプレート] Job Templates をクリックします。

    [ジョブ テンプレート] パネルが表示されます。

  4. 削除する受信用の Webhook を含むジョブ テンプレートを選択します。

    パネルにジョブ テンプレートが表示されます。

  5. [自動化されたアクション] タブをクリックします。

    ArcGIS Workflow Manager Server Advanced ロールのライセンスも十分な権限も持っていない場合は、自動化されたアクションを構成できません。

  6. [Webhook ジョブの作成] セクションで、削除する受信用の Webhook にポインターを合わせて、[Webhook の削除] Delete Webhook をクリックします。
    注意:

    削除した受信用の Webhook は復元できません。

  7. [保存] をクリックして、ジョブ テンプレートを保存します。

    Webhook が削除されます。

関連トピック