バージョン:Rome
REST データ連携

IntegrationHub の REST

記事 (1/25)

「IntegrationHub の REST」の目標

このモジュールでは、次のことを学習します。

  • IntegrationHub の有効化
  • REST アクションの作成と編集
  • 接続および資格情報エイリアスの構成
  • 資格情報の設定

注意:IntegrationHub を本番インスタンスで使用するには、サブスクリプションが必要です。IntegrationHub を非本番および個人の開発者インスタンスで有効化すれば、サブスクリプションなしでデータ連携を構築およびテストすることは可能です。

このモジュールは、Flow Designer に精通していることを前提としています。フロー、アクション、ステップ、サブフロー、フロー実行、スポークについて熟知していない場合は、Flow Designer トレーニングモジュールで詳細を学習してください。

記事 (2/25)

この学習モジュールについて

重要:この学習モジュールの内容は、Rome ServiceNow リリース用に最後に更新されました。

Rebrickable Spoke アプリケーションは、スポークおよびアクション作成の基になる概念とプロセスを紹介し、デモンストレーションするために、この学習モジュール全体で使用されます。受講者は Rebrickable Spoke アプリケーションを構築しません。

実習では、IPInfo Spoke アプリケーションを開発します。

演習は、次の 3 つの方法で示されます。

  • ナビゲーションペインの [演習] アイコン。
  • ページ上部の [演習] アイコンと「演習」という単語。
  • ページタイトルの「演習」または「課題」という単語。

ナビゲーションとページタイトルに、強調表示された演習ページのアイコンと演習プリフィックスが表示された、演習ページの上部。

IPInfo Spoke アプリケーションを使用すると、ユーザーはパブリック IP アドレスの位置情報を取得するアクションを作成できます。

記事 (3/25)

IntegrationHub とは何か?

IntegrationHub は、ServiceNow でサードパーティプラットフォームを操作するために使用されるフレームワークです。開発者は IntegrationHub を使用して、外部プラットフォームに対してコマンドを実行する統合アクションを構築できます。

IntegrationHub の使用方法の例:

  • Slack、HipChat、Microsoft Teams、またはその他のコミュニケーションおよびソーシャルメディアプラットフォームにニュースを投稿する。
  • オンボーディングプロセスを自動化して、人事システムのユーザー情報の更新、Active Directory でのユーザーの作成、新しい従業員へのトレーニングの割り当てを行う。
  • モノのインターネット (IoT) デバイスから情報を消費し、それらのデバイスを操作する。

IntegrationHub には、REST API を呼び出すステップ、PowerShell コマンドを実行するステップ、他の API を操作するスクリプトを記述するステップが含まれています。ステップは、Flow Designer を外部プラットフォームと統合するために使用されるアクションの構成要素です。アクションは、Flow Designer で使用する再利用可能な構成要素です。該当分野のエキスパート (SME) は、開発者とプロセスオーナーがプロセスで利用できるアクションを構築できます。

利点

IntegrationHub は、開発者に以下のメリットを提供します。

  • アプリケーションロジックを自動化して、外部プラットフォームを操作する。
  • 開発者がカスタムアプリケーションで利用できる統合アクションを、SME が開発および共有できるようにする。
  • 技術者以外のユーザーがフローを作成し、フローの動作を理解できるように、アプリケーションの統合ロジックに関して自然言語による説明を提供する。

記事 (4/25)

IntegrationHub の有効化

IntegrationHub には、次の 4 つのサブスクリプションレベルがあります。

  • スターターパック
  • 標準パック
  • プロフェッショナルパック
  • エンタープライズパック

サブスクリプションのレベルごとに、追加のスポークと機能が入っています。ServiceNow IntegrationHub スターターパックは、年間最大 1,000,000 トランザクションを利用できる無料のサブスクリプションです。IntegrationHub サブスクリプションパックには IntegrationHub サブスクリプションが必要です。サブスクリプションパックは ServiceNow 担当者が有効化する必要があります。IntegrationHub サブスクリプションパックには、関連するプラグインがまだ有効になっていない場合のデモデータとアクティベーションが入っています。会社のインスタンスで IntegrationHub を要求する方法については、ドキュメントを参照してください。各サブスクリプションレベルに付属する機能について、ドキュメントに詳しく記載されています。

注意:IntegrationHub を本番インスタンスで使用するには、サブスクリプションが必要です。IntegrationHub を非本番および個人の開発者インスタンスで有効化すれば、サブスクリプションなしでデータ連携を構築およびテストすることは可能です。この学習モジュールでは、無料のスターターパックを使用します。

個人の開発者インスタンスで IntegrationHub を有効化する

開発者サイトの [自分のインスタンス (My Instance)] セクションから、Personal Developer Instance (PDI) の ServiceNow IntegrationHub Installer プラグインを有効化します。開発者サイトの任意のページから、[アカウント] メニューをクリックし、[プラグインの有効化] インスタンスアクションを選択します。ServiceNow IntegrationHub Installer[有効化] ボタンをクリックして、すべての IntegrationHub プラグインを有効化します。

個人の開発者インスタンスのプラグイン選択リスト。

注意ServiceNow IntegrationHub Installer プラグインは、個人開発者インスタンスで ServiceNow IntegrationHub Starter Pack Installer プラグイン (com.glide.hub.integrations) を有効化します。

ServiceNow IntegrationHub Installer プラグインでは IntegrationHub 関連の複数のプラグインを有効化するため、完了までに 10 分ほどかかります。プラグインの有効化が完了すると、開発者サイトからメールが送信されます。

演習 (5/25)

演習:IntegrationHub を有効化する

この演習では、個人開発者インスタンス (PDI) で ServiceNow IntegrationHub Installer プラグインを有効化します。ServiceNow IntegrationHub Installer プラグインは、個人開発者インスタンスで ServiceNow IntegrationHub Starter Pack Installer プラグイン (com.glide.hub.integrations) を有効化します。

IntegrationHub プラグインを有効化する

  1. PDI を管理するには、開発者サイトにサインインします。

    1. 開発者サイトを開きます。
    2. サインインしていない場合は、開発者サイトにサインインします。
      1. ページヘッダーの [サインイン] リンクをクリックします。
      2. メールアドレスを入力してください。
      3. [次へ] をクリックします。
      4. [パスワード] を入力します。
      5. [サインイン] ボタンをクリックします。
  2. ServiceNow IntegrationHub Installer プラグインを有効化します。

    1. [アカウント] メニューを開き、[プラグインの有効化] インスタンスアクションを選択します。

      [アカウント] メニューから [プラグインを有効にする] インスタンスアクションをクリックします。

    2. [プラグインの有効化] ダイアログで ServiceNow IntegrationHub を検索し、ServiceNow IntegrationHub Installer プラグインの [有効化] ボタンをクリックします。

      ServiceNow IntegrationHub Installer プラグインの [有効化] ボタンをクリックします。

  3. しばらくすると、開発者サイトからプラグインがアクティブであることを示すメールが届きます。

    プラグインの有効化が完了したことを示すメール。

記事 (6/25)

IntegrationHub スポーク

スポークは、Flow Designer または IntegrationHub のアクションまたはサブフローを含むスコープ対象のアプリケーションです。スポークとは、関連するアクション、サブフロー、およびサポートアプリケーションファイルの論理的グループです。開発者とプロセスデザイナーは、スポークロジックを独自のアプリケーションで再利用できます。IntegrationHub にはベースラインスポークが含まれています。開発者は、ServiceNow Store から追加のスポークを入手したり、共有したり、独自のスポークを作成したりすることができます。

IntegrationHub スターターパックには、Slack、HipChat、Microsoft Teams、Workplace by Facebook 用のスポークが含まれています。

たとえば、Slack スポークには、メッセージ、インシデント、問題、変更の詳細を Slack チャネルに投稿するアクションが含まれています。

インスタンスでデフォルトで利用可能なスポークは、IntegrationHub のサブスクリプションレベルによって異なります。このモジュールの例では IntegrationHub スターターパックを使用しています。

スポークの作成

スポークを作成するプロセスは、スコープ対象のアプリケーションを作成するプロセスと同じです。

スポークを作成するアプリケーションを作成します。

開発者向けのヒント:慣例により、アプリケーション名に「Spoke」という単語を追加して、アプリケーションをスポークとして識別します。

アプリケーションにアクションを作成します。

Studio のアプリケーションエクスプローラーでの Rebrickale Spoke のアクション。

スポークの使用

アクションピッカーを使用して、フローまたはサブフローにアクションを追加します。アクションピッカーのアクションは、スポークごとにグループ化されています。[アクションピッカー] には、スコープのアプリケーション名が「Spoke」という単語なしで一覧表示されます。

「Rebrickable Spoke」という名前のアプリケーションは、Flow Designer でアクションを選択する際は「Rebrickable」となっています。

注意:このモジュールの例では Rebrickable REST API を使用しています。Rebrickable は、LEGO ビルダーがコレクションを追跡するために使用できる LEGO のパーツとセットのデータベースです。開発者は Rebrickable API を使用して LEGO のセットの詳細を取得し、LEGO の在庫を管理します。

アプリケーションロゴ

Flow Designer は、アクションピッカーのアプリケーションの横、およびフローのアクションの横でアプリケーションのロゴを使用します。

Studio のアプリケーション設定でアプリケーションのロゴを選択します。

  1. Studio でアプリケーションを開きます。
  2. [ファイル] メニューをクリックし、[設定] メニューアイテムを選択します。
  3. [ロゴ] 設定用の [クリックして追加...] リンクをクリックし、画像を選択します。最良の結果を得るには、500 x 500 ピクセル以下の正方形の画像を選択してください。
    [ロゴ] 設定は、設定フォームの下部にあります。

記事 (7/25)

インライン接続を使用した REST アクションの作成

アクションで REST ステップを使用すると、REST API を操作できます。インライン接続を設定するには、REST ステップで直接 REST 構成の詳細を指定します。

REST API には、エンドポイント URL を使用してアクセスします。エンドポイント URL は、ベース URL、リソースパス、クエリパラメーターで構成されます。ベース URL は、REST API のインターネットホスト名です。リソースパスは、API リソースへのアドレスです。クエリパラメーターは REST API に渡される名前と値のペアで、エンドポイント URL の「?」の後にあるものです。クエリパラメーターは REST API に入力を渡し、多くの場合、出力形式のフィルタリング、ソート、指定に使用されます。

action_designer ロールまたは admin ロールを持つユーザーは、カスタムアクションを作成して保存できます。インライン接続で REST アクションを作成するには、アクションを作成してから REST ステップを追加して構成します。この例では、エンドポイント URL のコンポーネントを REST ステップの構成フィールドにマッピングします。

Rebrickable API からの要求の例では、HTTP メソッド「GET」と、ベース URL、リソースパス、クエリパラメーターから作成されたエンドポイント URL を示しています。

  • 接続[インラインで接続を定義] を選択してインライン接続を構成します。
  • ベース URL:Web サービスエンドポイントのベース URL を入力します。詳細については、Web サービスのドキュメントを参照してください。
  • 要求の構築 (Build Request):要求の構築方法として [手動] または [OpenAPI 仕様から] を選択します。
  • リソースパス:完全な Web サービスエンドポイントへのパスを入力します。
  • HTTP メソッドGETPOSTPUTPATCHDELETE のいずれかを選択します。最も一般的に使用されるオプションは GETPOST です。
  • クエリパラメーター:渡す各クエリパラメーターの名前と値を入力します。クエリパラメーターは、実行時にエンドポイントの URL の ? の後に追加されます。

この例では、エンドポイント全体 (https://rebrickable.com/api/v3/lego/sets/) を [ベース URL] フィールドに入力できます。エンドポイントをベース URLリソースパスに分割すると、Web サービスリソースが、それらのサービスが見つかった URL から分離されます。多くの REST API は、ベース URL なしでリソースパスを文書化します。たとえば、Rebrickable API は、ベース URL なしでパーツを取得するためのリソースパスを文書化します。

一部の lego およびユーザーリソースのパスは Rebrickable API に記載されています。

注意:開発者はインライン接続を使用して REST APIs への接続をテストできますが、本番環境でのインライン接続の使用は推奨されません。アクションは、使用するためにアクション自体を直接変更する必要がないように設計する必要があります。本番環境で REST API に接続し、構成をアクション定義から分離するには、別途このモジュールで説明する接続および資格情報エイリアスを使用する必要があります。

記事 (8/25)

アクションを動的にする

情報をリソースパスで、またはクエリパラメーターとして REST API に渡します。データピルを使用して変数をリソースパスまたはクエリパラメーターに渡し、REST ステップを動的にします。使用可能なリソースパスとクエリパラメーターについては、REST API のドキュメントを参照してください。

リソースパス

リソースパスベース URL に追加することで、エンドポイントが作成されます。REST API は、変数情報を得るためにこのリソースパスを使用します。たとえば、Rebrickable のベース URL は https://rebrickable.com です。API には、パーツ、セット、色などの情報を返すリソースパスが含まれています。

Rebrickable のドキュメントには、利用可能なリソースパス (すべてのカラーのリストを取得する /api/v3/lego/colors/ や {id} によって特定された特定の色に関する詳細を取得する /api/v3/lego/colors/{id}/) の詳細が記載されています。

渡す変数は {中括弧} で囲まれています。たとえば、特定の LEGO セットの詳細を取得するには、リソースパス /api/v3/lego/sets/{set_num}/{set_num} を LEGO のセット番号に置き換えます。データピルを使用して、アクション入力またはアクションの他のステップから変数を渡します。

文書化されたリソースパスパラメーターをデータピルに置き換えて、変数を渡します。

クエリパラメーター

REST API は、クエリパラメーターを使用して構成情報を渡します。たとえば、セットのリスト /api/v3/lego/sets/ を取得する Rebrickable リソースパスは、返されたセットをフィルタリングおよびソートするためのクエリパラメーターを受け入れます。REST ステップの [要求の詳細] セクションにクエリパラメーターを追加して、クエリパラメーター値を渡します。

REST ステップは、返されるセットに含まれるパーツの最小数と最大数を渡すための、クエリパラメーター min_parts と max_parts で構成されます。

データピルを使用して、アクション入力またはアクションの他のステップから変数を渡します。

データピルを使用して返されるセットのパーツの最小数と最大数を渡すように構成された Rebrickable の sets リソース。

記事 (9/25)

REST ステップのテスト

REST ステップをテストする場合、Flow Designer でアクションをテストします。

  1. アクションの [テスト] ボタンをクリックします。
  2. [テスト実行] ボタンをクリックします。
  3. アクションが実行されたら、[テストの実行が終了しました。(Your test has finished running.) アクション実行の詳細を表示します。(View the action execution details.)] というリンクをクリックして、実行の詳細を表示します。

[実行の詳細] タブで [ステップ] セクションを展開し、ステップ実行の詳細を表示します。

ステップ実行の詳細には、ステップの構成とステップが出力する情報が含まれます。

[ステップ構成] セクションを使用して、ステップが実行されたときの REST ステップの構成を確認します。

Get Sets アクションのステップの構成。

[ステップ出力データ] セクションを使用して、REST Web サービス呼び出しから返されたデータを確認します。この例では、REST ステップが Rebrickable API の呼び出しに成功し、JSON 形式で情報を返しました。

REST ステップは、エラーコード、エラーメッセージ、応答本文、応答ヘッダー、ステータスコードを出力します。示されている出力は接続に成功し、データが正常に返されました。

  • エラーコード:REST API によって返されるエラーコード。成功した接続は 0 を返しますが、エラーコード 0 の出力の中には成功していないものもあります。エラーコードは API によって異なります。
  • エラーメッセージ:API によって返されるエラーメッセージ。
  • 応答本文:REST API によって返される情報。応答本文データは多くの場合、JSON または XML 形式で構造化されたデータを含む文字列です。REST API が返す情報の詳細については、API のドキュメントを参照してください。
  • 応答ヘッダー:REST API によって返されるヘッダー情報。
  • ステータスコード:REST API によって返されるステータスコード。成功した接続は 200 を返しますが、ステータスコード 200 の出力の中には成功していないものもあります。

応答本文ステップ出力のランタイム値などの長い文字列はリンクです。ランタイム値のリンクをクリックすると、文字列全体が表示されます。

[response_body の表示 (Viewing response_body)] ダイアログに、JSON 応答本文全体が表示されています。

この例は、エラーが発生した Rebrickable API の呼び出しです。エラーコードは 3 で、エラーメッセージは無効なユーザー名 / パスワードの組み合わせが使用されたことを示しています。応答本文は、認証資格情報が提供されなかったことを示しています。

REST 呼び出しに失敗すると、エラーコードとメッセージが出力されます。API の中には、応答本文で有用な情報を返すものもあります。

演習 (10/25)

演習:REST アクションを作成する

この演習では、REST API にアクセスして位置データを操作するアクションのスポークを作成します。また、パブリック IP アドレスの位置情報を取得するアクションを作成します。

注意:PDI が自動的に App Engine Studio を開く場合は、PDI にアクセスするために使用するユーザーロールを変更する必要があります。演習を完了するには、[管理者] ユーザーロールに切り替えます

API 応答のプレビュー

演習のこのセクションでは、Web ブラウザーで REST API をテストして、応答を表示します。

  1. ブラウザーで https://ipinfo.io/8.8.8.8/json を開きます。
  2. 応答を調べます。API 応答にはどのような情報が含まれているでしょうか。

IPInfo Spoke の作成

  1. Studio でアプリケーションを作成します。

    1. Application Navigator を使用して [システムアプリケーション] > [Studio] を開きます。

    2. [アプリケーションを作成] ボタンをクリックします。

      注意:Microsoft Edge または Internet Explorer を使用している場合は、従来のアプリケーションクリエーターでしか作業できない可能性があります。Safari を使用している場合、Guided App Creator を使用するにはバージョン 12 以降が必要です。Guided App Creator で作業するには、別のブラウザーを使用してください。

  2. アプリケーションを構成します。

      名前 IPInfo Spoke
      説明 <任意の説明>
      詳細設定 スコープ対象
      スコープ (この値は、自動的に入力されます)
  3. [作成] ボタンをクリックします。

  4. [Studio で続行 (詳細)] リンクをクリックします。

  5. [アプリケーションを選択] ダイアログで、編集する IPInfo Spoke アプリケーションをクリックして開きます。

IPInfo Spoke への画像の追加

  1. IPInfo のロゴをダウンロードします。
  2. 画像ファイルを選択します。
    1. Studio で[ファイル] メニューをクリックし、[設定] メニューアイテムを選択します。
    2. [ロゴ] フィールドまでスクロールし、[クリックして追加...] リンクをクリックします。
    3. コンピューターにある ipinfo-logo.png ファイルを選択します。
    4. [OK] ボタンをクリックします。
    5. [更新] ボタンをクリックします。
  3. Studio の [アプリケーション設定] タブを閉じます。

[IP から地理データを取得 (Get Geographic Data from IP)] アクションの作成

  1. アクションを作成します。
    1. Studio で [アプリケーションファイルを作成] リンクをクリックします。
    2. [フィルター...] フィールドに「アクション」というテキストを入力するか、左ペインのカテゴリから [Flow Designer] を選択します。
    3. 中央ペインからファイルタイプとして [アクション] を選択し、[作成] ボタンをクリックします。
    4. Flow Designer が新しいウィンドウで開きます。
  2. アクションを構成します。
      名前 IP から地理データを取得
      アプリケーション IPInfo Spoke
      説明 パブリック IP アドレスから地理データを取得します。
  3. [送信] ボタンをクリックします。

インライン接続を使用した REST ステップの追加

  1. [ステップ] パネルで [新しいステップを追加] ボタン ([新しいステップを追加] ボタン) をクリックします。
  2. [アクションに追加するステップを選択] ダイアログの [データ連携] セクションで REST ステップを選択します。
  3. ステップの名前を「IPInfo REST API の呼び出し」に変更します。
  4. テストステップを設定します。
      接続 インラインで接続を定義
      ベース URL https://ipinfo.io
      リソースパス 8.8.8.8/json

構成済みの [IPInfo REST API の呼び出し (Call IPInfo REST API)] ステップ。
5. [保存] ボタンをクリックします。

注意:インライン接続はテストにのみ使用してください。

アクションのテストと REST 応答の確認

  1. [テスト] ボタンをクリックします。

  2. [テスト実行] ボタンをクリックします。

  3. [アクションのテスト] ダイアログで、[テストの実行が終了しました。アクション実行の詳細を表示します。] というリンクをクリックします。

  4. [実行の詳細] タブで [IP から地理データを取得] アクションをクリックして詳細を展開します。

  5. [ステップ] をクリックして、ステップの詳細を展開します。

  6. [ステップ出力データ] セクションまでスクロールし、[応答本文] の文字列をクリックします。

  7. [response_body の表示 [文字列] (Viewing response_body [string])] ダイアログで、返されたデータを確認します。

    質問応答本文にはどのようなデータが返されますか?

    回答:応答本文は、iphostnameanycastcityregioncountryloc (緯度と経度の座標)、orgpostaltimezonereadme を含む JSON 文字列です。

    8.8.8.8 を使用した IPInfo の呼び出しからの応答本文。

  8. [閉じる] ボタンをクリックします。

  9. [実行の詳細] タブを閉じます。

  10. [アクションのテスト] ダイアログを閉じます。

演習 (11/25)

演習:アクションを動的にする

この演習では、IP アドレスを入力として渡すように [IP から地理データを取得] アクションを更新して、アクションをテストします。

IP アクション入力の作成

  1. 前の演習でまだ開いていない場合は、編集する [IP から地理データを取得] アクションを開きます。

    a. Application Navigator を使用して [システムアプリケーション] > [Studio] を開きます。

    b. [IPInfoSpoke] をクリックして、編集するアプリケーションを開きます。

    c. アプリケーションエクスプローラーを使用して、[Flow Designer] > [アクション] > [IP から地理データを取得] を開きます。

  2. [アクションアウトライン] で、[入力] アイテムをクリックします。

  3. [入力の作成] ボタンをクリックします。

  4. [詳細入力を切り替え] アイコンを ([詳細入力を切り替え] アイコン。) クリックします。

  5. アクション入力を構成します。

      ラベル IP アドレス (IP address)
      名前 (この値は自動的に入力されます)
      タイプ IP アドレス
      必須 選択済み
      ヒント このパブリック IP アドレスの物理的な場所を検索します
  6. [保存] ボタンをクリックします。

アクション入力を使用するようにリソースパスを更新

  1. [アクションアウトライン]REST ステップをクリックします。

  2. ハードコードされた IP アドレスを IP アドレスのアクション入力変数に置き換えます。

    1. [リソースパス] フィールドで「8.8.8.8」を削除します。
    2. データパネルの [入力変数] セクションから、[IP アドレス] データピルを [リソースパス] フィールドにドラッグします。[IP アドレス] データピルは /json の前に置く必要があります。
      リソースパスは、IP アドレスと静的テキストスラッシュ json のデータピルに設定されます。
  3. [保存] ボタンをクリックします。

フローのテストと REST 応答の確認

  1. テストに使用する現在の IP アドレスを取得します。
    1. IP Chicken のウェブサイトを開きます。
    2. 現在の IP アドレスをコピーします。
  2. アクションをテストします。
    1. [テスト] ボタンをクリックします。
    2. <コピーした IP アドレス>[IP アドレス] フィールドに貼り付けます。
    3. [テスト実行] ボタンをクリックします。
    4. [アクションのテスト] ダイアログで、[テストの実行が終了しました。アクション実行の詳細を表示します。] というリンクをクリックします。
    5. ステップの詳細を確認して、REST ステップがステータスコード 200 を返し、応答本文が JSON データを返すことを確認します。
  3. [実行の詳細] タブを閉じます。
  4. [アクションのテスト] ダイアログを閉じます。

記事 (12/25)

REST 応答の解析

REST API 呼び出しは、応答本文にデータを返します。応答本文データは通常、JSON または XML 形式で構造化されます。スクリプトステップを使用すると、構造化されたデータを変数に解析し、アクションまたはフローの他の場所で使用できます。

応答から抽出されたデータを取得する一般的な方法は次のとおりです。

  • 応答本文を確認し、返すデータを選択します。
  • スクリプトステップで入力変数と出力変数を作成します。
    • REST ステップから 応答本文 を渡す入力変数を作成します。
    • 応答からデータを返す出力変数を作成します。
  • データを解析およびマッピングするスクリプトの作成
    • [スクリプト] ステップで JSON.parse() メソッドを使用して、JSON 応答本文を解析します。
    • 解析されたデータを出力変数にマッピングします。
  • 出力変数のアクション出力を作成して、データをフローで使用できるようにします。

注意:IntegrationHub 標準パックには、XML 形式の応答本文を解析するために使用できる XML パーサーステップが含まれています。

応答本文の確認

LEGO のセットの詳細を取得する Rebrickable リソースは、応答本文に JSON を返します。応答本文のキーと値のペアは JSON 構造の最上位にあります。

{ "set_num":"10247-1", "name":"Ferris Wheel", "year":2015, "theme_id":22, "num_parts":2463, "set_img_url":"https://m.rebrickable.com/media/sets/10247-1.jpg", "set_url":"https://rebrickable.com/sets/10247-1/ferris-wheel/", "last_modified_dt":"2016-05-29T00:25:32.286418Z" }

入力変数と出力変数の作成

[スクリプト] ステップの入力変数を作成して、応答本文をスクリプトで使用できるようにします。

response_body というスクリプト入力変数には、Rest ステップからの応答本文の値があります。

応答本文から各キーの出力変数を作成します。

スクリプト出力

データを解析およびマップするスクリプトの作成

JSON.parse() メソッドを使用して JSON 応答を解析します。キーを応答本文から出力変数にマップします。

(function execute(inputs, outputs) { var responseObject = JSON.parse(inputs.response_body); outputs.set_name = responseObject.name; outputs.release_year = responseObject.year; outputs.parts = responseObject.num_parts; })(inputs, outputs);

REST ステップからの応答が有効であったことを確認するには、ステータスコードの入力変数を追加します。ステータスコード 200 をチェックする if ステートメントに解析ロジックをラップします。

JSON 応答を解析するためのスクリプトステップには、応答本文とステータスコードの入力が含まれます。このスクリプトは、ステータスコード 200 をチェックし、応答本文を解析して、出力変数にキーを書き込みます。

アクション出力の作成

スクリプト出力変数ごとにアクション出力変数を作成し、REST API から返されたデータをフローで使用します。アクション出力変数には、分かりやすいラベルを使用してください。

アクション出力のラベル、名前、タイプを定義します。

[編集モードを終了] ボタンをクリックして、アクション出力に値を割り当てます。

[セット名 (Set name)]、[リリース年 (Release year)]、[パーツ数 (Number of parts)] のアクション出力は、スクリプトステップから返されたデータに設定されます。さらに、[セット数 (Set number)] アクション出力は、入力セット数に設定されます。

開発者向けのヒント:アクション入力変数用のアクション出力変数を作成すると、その入力値をフローで使用できます。

演習 (13/25)

演習:REST 応答を解析する

このモジュールでは、REST API を操作してパブリック IP アドレスから地理データを取得するアクションを作成しました。次に、IP アドレスをアクションに動的に渡すようにアクションを更新しました。この演習では、[IP から地理データを取得] アクションを更新して、IPInfo REST API によって返される JSON 文字列から、ホスト名、市区町村、地域、国、経度と緯度の座標を取得します。

応答本文を解析するスクリプトステップの作成

  1. 前の演習でまだ開いていない場合は、編集する [IP から地理データを取得] アクションを開きます。

    a. Application Navigator を使用して [システムアプリケーション] > [Studio] を開きます。

    b. [IPInfoSpoke] をクリックして、編集するアプリケーションを開きます。

    c. アプリケーションエクスプローラーを使用して、[Flow Designer] > [アクション] > [IP から地理データを取得] を開きます。

  2. [ステップ] パネルの REST ステップの後、[新しいステップを追加] ボタン ([新しいステップを追加] ボタン) をクリックします。

    REST ステップの後にスクリプトステップを追加します。

  3. [アクションに追加するステップを選択] ダイアログの [ユーティリティ] セクションで [スクリプト] ステップを選択します。

  4. ステップの名前を「返されたデータの解析」に変更します。

  5. response_body 入力変数を追加します。

    1. [スクリプト] ステップの [入力変数] セクションで、[変数の作成] リンクをクリックします。
    2. 変数を設定します。
        名前 response_body
        [IPInfo REST API の呼び出し] ステップから応答本文データピルをドラッグします
  6. status_code 入力変数を追加します。

    1. [入力変数] セクションで、[変数の作成] リンクをクリックします。
    2. 変数を設定します。
        名前 status_code
        (ステップ ▸ IPInfo REST API の呼び出し ▸ ステータスコード)
  7. hostname 出力変数を追加します。

    1. [出力変数] セクションで、[変数の作成] リンクをクリックします。
    2. 変数を設定します。
        ラベル ホスト名 (hostname)
        名前 (この値は自動的に入力されます)
        タイプ 文字列
  8. 追加の文字列出力変数を作成します。

      city
      region
      country
      latitude
      longitude

    [返されたデータの解析 (Parse Returned Data)] スクリプトステップの構成済み出力変数。

  9. [スクリプト] フィールドの内容を次のスクリプトに置き換えます。

    (function execute(inputs, outputs) { // Only parse the response body if the status code is 200 if (inputs.status_code == '200'){ // Parse the response_body input variable and save parsed object as responseBody var responseBody = JSON.parse(inputs.response_body); // Map the parsed responseBody values to output variables outputs.hostname = responseBody.hostname; outputs.city = responseBody.city; outputs.region = responseBody.region; outputs.country = responseBody.country; // split the returned location into separate latitude and longitude values var locArray = responseBody.loc.split(","); outputs.latitude = locArray[0]; outputs.longitude = locArray[1]; } })(inputs, outputs);
  10. スクリプトの内容を確認して、スクリプトの動作を確認します。

    質問:REST API は、個々の緯度と経度の値を返しません。これらの値はどのように決定されますか?

    回答:REST API は、緯度と経度を場所の値と結合して返します。このスクリプトは、場所の値をカンマでアレイに分割し、緯度経度を別々の変数に書き込みます。開発者は、出力値を設定する前に、スクリプトステップを使用して応答データを操作できます。

  11. [保存] ボタンをクリックします。

アクションの出力の追加

  1. [アクションアウトライン] で、[出力] アイテムをクリックします。

  2. アクションへの IP アドレス入力用のアクション出力を作成します。

    1. [出力を作成] リンクをクリックします。
    2. 次のようにアクション出力を構成します。
        ラベル IP アドレス (IP address)
        名前 ip_address
        タイプ IP アドレス
  3. REST 応答から解析されたホスト名のアクション出力を作成します。

    1. [出力の作成] ボタンをクリックします。
    2. 次のようにアクション出力を構成します。
        ラベル ホスト名 (Hostname)
        名前 hostname
        タイプ 文字列
  4. [返されたデータの解析] ステップから残りのデータピルのアクション出力を作成します。各出力の [名前] の値は [ラベル] と同じですが、小文字にする必要があります。各出力の [タイプ][文字列]に設定します。

      city
      region
      country
      latitude
      longitude

    7 つの構成済みアクション出力。

  5. [編集モードを終了] ボタンをクリックします。

  6. 各アクション出力に値を割り当てます。

    1. [IP アドレス (IP address)] データピルを、データパネルの [入力変数] セクションから [IP アドレス] アクション出力の [値] にドラッグします。
    2. [ホスト名 (hostname)] データピルを、データパネルの [返されたデータの解析] ステップから [ホスト名] アクション出力の [値] にドラッグします。
    3. 残りのデータピルを、データパネルの [返されたデータの解析] ステップから対応するアクション出力の [値] にドラッグします。
      値が割り当てられた 7 つのアクション出力。
  7. [保存] ボタンをクリックします。

アクションのテストと解析済みデータの表示

  1. テストに使用する現在の IP アドレスを取得します。

    a.IP Chicken のウェブサイトを開きます。

    b. 現在の IP アドレスをコピーします。

  2. アクションをテストします。

    a.[テスト] ボタンをクリックします。

    b. [アクションのテスト (Test Action)] ダイアログに現在の IP アドレスを貼り付けます。

    c.[テスト実行] ボタンをクリックします。

    [テストの実行が終了しました。アクション実行の詳細を表示します。] というリンクをクリックします。

  3. [IP から地理データを取得] アクションの [出力データ] を表示します。すべてのアクション出力にランタイム値があることを確認します。

    [IP から地理データを取得 (Get Geographic Data from IP)] アクションの結果に、REST 呼び出しからの出力が含まれるようになりました。

    注意:すべての IP アドレスが各変数の値を返すわけではありません。必要に応じて、REST ステップで戻り値を応答本文と比較できます。

  4. [実行の詳細] タブを閉じます。

  5. [アクションのテスト] ダイアログを閉じます。

記事 (14/25)

接続および資格情報エイリアスと接続

サードパーティプラットフォームにアクセスするには、REST API にアクセスするためのエンドポイントなどの接続の詳細が必要です。以前このモジュールで使用したインライン接続は、直接 REST ステップで接続を作成しました。接続および資格情報エイリアスと接続を使用すると、接続を 1 回だけ定義した後、任意のカスタムアクションでその接続を使用できます。

接続および資格情報エイリアスは接続に対するポインターです。接続は、サードパーティプラットフォームに接続するための URL またはホスト名を定義します。

アクションの REST ステップでは、接続および資格情報エイリアスを使用して接続をポイントします。

接続および資格情報エイリアスと接続を使用すると、次の処理を実行できます。

  • 接続の詳細を、その接続にアクセスする必要があるすべてのアクションに対して 1 回だけ構成する。すべてのアクションを再構成することなく、接続の詳細を更新できます。
  • 複数の接続ホストを一元管理する。

すべてのアクションに対して接続を 1 回だけ構成

開発者は、データ連携アクションで接続および資格情報エイリアスを使用して、データ連携によって実行される処理から接続構成を分離しておくことができます。データ連携アクションは、データ連携の接続および資格情報エイリアスにアクセスします。すべてのアクションに対して接続を 1 回だけ構成します。

たとえば、Microsoft AD Spoke のアクションは、AD の接続および資格情報エイリアスをポイントするように構成されています。Active Directory フローを構築する開発者とプロセスオーナーは、Active Directory ドメインコントローラー接続を 1 度だけ構成します。接続の詳細が変更された場合、開発者は Active Directory に接続するすべてのアクションではなく、接続レコードの接続構成を変更するだけで済みます。

ユーザーの作成、ユーザーの削除、AD アカウントのロック解除などの Active Directory アクションは、AD の接続および資格情報エイリアスをポイントするように構成されているため、Active Directory 接続の詳細を使用して各アクションを構成する必要はありません。

接続および資格情報エイリアスをポイントするようにスポークで REST アクションを構成し、エンドポイントのベース URL を 1 回だけ構成します。アクションの REST ステップで REST API のリソースをポイントするようにリソースパスを構成します。たとえば、Rebrickable_Alias の接続および資格情報エイリアスを作成します。接続および資格情報エイリアスをポイントする REST リソースのアクションを作成します。接続レコードで接続 URL を構成します。

Rebrickable API リソースはすべて /api/v3 で始まります。

開発者向けのヒント:すべてのリソースに共通するドメインとエンドポイントの要素を使用して、接続レコードの接続 URL を構成します。たとえば、REST API のすべての Rebrickable リソースは /api/v3 で始まります。接続 URLhttps://rebrickable.com/api/v3 です。

一部の lego およびユーザーリソースのパスは Rebrickable API に記載されています。

複数の接続ホストの管理

接続および資格情報エイリアスには複数の関連する接続レコードを含めることができ、これによって開発者はホストを簡単に切り替えることができます。

たとえば、AD の接続および資格情報エイリアスには、本番および非本番の Active Directory ドメインコントローラーに関連する接続レコードを含めることができます。開発者は、アクティブにする必要がある接続にアクティブフラグを設定することで、接続を切り替えることができます。

本番、テスト、開発用の接続を持つ AD の接続および資格情報エイリアス。本番接続がアクティブになっています。

REST API の接続および資格情報エイリアスは、REST API に複数の URL でアクセスできる場合、複数の関連する接続を持つことができます。REST API が異なるバージョンをサポートしている場合は、API の異なるバージョンに対して複数の関連する接続を使用できます。たとえば、Rebrickable API にさまざまなバージョンの接続を構成できます。アクションの実行時には、アクティブな接続のみが使用されます。

v2 および v3 API 向けの接続がある Rebrickable の接続および資格情報エイリアス。v3 がアクティブな接続です。

記事 (15/25)

接続および資格情報エイリアスの作成

connection_admin ロールまたは admin ロールを持つユーザーは、接続および資格情報エイリアスを作成して保存できます。

Studio で接続および資格情報エイリアスを作成するには:

  1. [アプリケーションファイルを作成] リンクをクリックします。
  2. [Flow Designer] カテゴリを選択します。
  3. [接続および資格情報エイリアス] オプションを選択します。
  4. [作成] ボタンをクリックします。
  5. 接続および資格情報エイリアスプロパティの構成:
    エイリアスの構成に使用する [接続および資格情報エイリアス] フォームには、名前、タイプ、接続タイプが必要です。
  • 名前:接続および資格情報エイリアスの一意の名前。名前には、文字、数字、アンダースコアのみを使用できます。
  • ID:接続および資格情報エイリアスに対して自動的に生成される識別子。ID は、スコープ名と接続および資格情報エイリアスの名前の組み合わせです。
  • アプリケーション:接続および資格情報エイリアスのアプリケーションスコープ。
  • タイプ:接続および資格情報エイリアスのタイプ。オプションは、[接続および資格情報] または [資格情報] です。
  • 接続タイプ:接続のタイプ。オプションは、[基本][HTTP][JDBC][JMS] です。REST 接続は [HTTP] です。
  • デフォルトの再試行ポリシー:ステップでネットワーク障害や要求レート制限などの問題が発生した場合の再試行要求の処理方法を指定します。

[送信] ボタンをクリックして、接続および資格情報エイリアスを保存します。[接続] 関連リストを使用して、接続および資格情報エイリアスに関連付けられた接続を作成します。

[接続] および [接続属性] 関連リストの保存済み Rebrickable エイリアスレコード。

記事 (16/25)

接続の作成

connection_admin ロールまたは admin ロールを持つユーザーは、接続を作成して保存できます。

接続および資格情報エイリアスレコードの [接続] 関連リストで [新規] ボタンをクリックします。接続を構成します。

Rebrickable API への接続を構成するために使用される HTTP(s) 接続フォーム。

  • 名前:接続の一意の名前。
  • 資格情報:接続に使用する認証の詳細。資格情報については、別途このモジュールで説明します。
  • 接続エイリアス:接続を使用する接続および資格情報エイリアス。この値は、接続および資格情報エイリアスの [接続] 関連リストから接続が作成されるときに自動的に設定されます。
  • 接続 URL:接続を使用するすべてのアクションに使用するベース URL。
  • MID Server を使用:MID Server を使用して通信するオプション。

記事 (17/25)

接続とアプリケーション

接続レコードは、アプリケーションファイルではなくデータとみなされます。開発者が内部コンピューターまたは REST API に接続の詳細を含めないようにするには、接続をアプリケーションに手動で追加する必要があります。接続は、パブリック REST API のアプリケーションにのみ追加する必要があります。

パブリック REST API の接続をアプリケーションに追加するには、[接続] 関連リストで [接続] チェックボックスをオンにします。次に、[選択した行のアクション...] メニューをクリックし、[アプリケーションファイルを作成] を選択します。

関連リストで Rebrickable v3 接続をチェックし、[選択した行のアクション...] メニューの [アプリケーションファイルを作成] を選択します。

[レコードからアプリケーションファイルを作成] ダイアログで詳細を確認し、[OK] ボタンをクリックします。

[レコードからアプリケーションファイルを作成] ダイアログには、アプリケーション、テーブル、アプリケーションに追加するレコードの数がまとめて表示されます。

Studio でアプリケーションのファイルを検証し、[ファイル] メニューをクリックして、[設定] メニューアイテムを選択します。[アプリケーションファイル] 関連リストで、[クラス] が [メタデータスナップショット] のアイテムを検索します。フィルター済みリストに、該当する接続が含まれているはずです。

Rebrickable v3 接続は、Rebrickable Spoke アプリケーションのアプリケーションファイル内のメタデータスナップショットです。

記事 (18/25)

接続および資格情報エイリアスの使用

接続および資格情報エイリアスを使用する REST アクションを作成するには、アクションを作成してから [REST] ステップを追加して構成します。[接続] に [接続エイリアスを使用] を選択し、[接続エイリアス] を選択します。

Rebrickable API からの要求の例では、HTTP メソッド「GET」と、ベース URL、リソースパス、クエリパラメーターから作成されたエンドポイント URL を示しています。

[要求の詳細] セクションの [リソースパス][HTTP メソッド][クエリパラメーター] を構成します。

演習 (19/25)

演習:接続および資格情報エイリアスを作成する

この演習では、IPInfo REST API の接続および資格情報エイリアスと接続を作成します。続けて、[IP から地理データを取得] アクションを更新して、接続および資格情報エイリアスを使用し、更新されたアクションをテストします。

接続および資格情報エイリアスの作成

  1. 前の演習で IPInfoSpoke アプリケーションを Studio で開いていない場合は、 ここで開きます。

    a. Application Navigator を使用して [システムアプリケーション] > [Studio] を開きます。

    b. [IPInfoSpoke] をクリックして、編集するアプリケーションを開きます。

  2. 接続および資格情報エイリアスを作成します。

    1. Studio で [アプリケーションファイルを作成] リンクをクリックします。
    2. [フィルター...] フィールドに「接続」というテキストを入力するか、左ペインのカテゴリから [Flow Designer] を選択します。
    3. 中央ペインからファイルタイプとして [接続および資格情報エイリアス] を選択し、[作成] ボタンをクリックします。
  3. 接続および資格情報エイリアスの構成

      名前 IPInfo エイリアス
      接続タイプ HTTP
  4. [送信] ボタンをクリックして、接続および資格情報エイリアスを保存します。

接続の作成

  1. [接続] 関連リストまでスクロールし、[新規] ボタンをクリックします。

    質問:接続は HTTP(s) 接続です。接続のタイプはどこで選択されていますか?

    回答:接続のタイプは接続および資格情報エイリアスレコードで選択されます。新しい接続は、接続および資格情報エイリアスの接続タイプに設定されます。

  2. HTTP(s) 接続を構成します。

      名前 IPInfo
      接続 URL https://ipinfo.io
  3. [送信] ボタンをクリックします。

[IP から地理データを取得 (Get Geographic Data from IP)] アクションの更新

  1. アプリケーションエクスプローラーを使用して、[Flow Designer] > [アクション] > [IP から地理データを取得] を開きます。
  2. [アクションアウトライン][IPInfo REST API の呼び出し] ステップをクリックします。
  3. REST ステップを構成します。
      接続 接続エイリアスを使用します。
      接続エイリアス x_<your_company_code>_ipinfo_spoke.IPInfo_Alias (会社コードの長さによっては、アプリケーションスコープが異なる場合があります)
  4. [保存] ボタンをクリックします。

更新アクションをテストする

  1. テストに使用する現在の IP アドレスを取得します。

    a.IP Chicken のウェブサイトを開きます。

    b. 現在の IP アドレスをコピーします。

  2. アクションをテストします。

    a.[IP から地理データを取得] アクションで、[テスト] ボタンをクリックします。

    b. [アクションのテスト (Test Action)] ダイアログに現在の IP アドレスを貼り付けます。

    c.[テスト実行] ボタンをクリックします。

    [テストの実行が終了しました。アクション実行の詳細を表示します。] というリンクをクリックします。

  3. [IP から地理データを取得] アクションの [出力データ] を表示します。アクション出力のランタイム値が前の演習と同じであることを確認します。値が不足している場合は、データピルを確認してください。

  4. [実行の詳細] タブを閉じます。

  5. [アクションのテスト] ダイアログを閉じます。

記事 (20/25)

資格情報の作成

一部の REST API は、REST API によって提供されるリソースにアクセスするために認証を必要とします。資格情報レコードは、REST API にアクセスするために使用される認証データです。ServiceNow は、暗号化されたフィールドに資格情報を保存します。資格情報を入力した後は、その資格情報を表示することはできません。REST API は、次の 3 つの資格情報タイプを使用します。

  • API キー:呼び出し元アプリケーションまたはユーザーを識別するために REST API によって提供される一意のコード。
  • 基本認証:REST API に対する認証に使用されるユーザー名とパスワードの組み合わせ。
  • OAuth 2.0:認証プロバイダーはシークレットを提供し、その情報を使用してリソースへのアクセスを許可します。OAuth については、このトレーニングモジュールでは扱いません。

開発者向けのヒント:利用可能な認証方法については、REST API のドキュメントを参照してください。REST API で複数の認証方法が許可されている場合は、利用可能な方法の中で最も安全な方法を選択してください。

admin ロールを持つユーザーは、資格情報を作成して保存できます。

ServiceNow のメインウィンドウで資格情報を作成するには、Application Navigator を使用して、[接続および資格情報] > [資格情報] を開きます。[新規] ボタンをクリックします。作成する資格情報のタイプを選択します。

API キー資格情報

資格情報タイプのリストで [API キー資格情報] リンクをクリックします。資格情報の名前と API キーを構成します。

[API キー資格情報] フォームに、Rebrickable Key という名前とマスクされた API キー値が入力されています。

  • 名前:資格情報の名前。API を明確に識別する説明的な名前を使用します。
  • API キー:REST API によって提供されるアクセストークンまたは API キー。この値は、認証ヘッダーに渡す文書化された値と一致する必要があります。

Rebrickable は、API リソースにアクセスするための 2 つの認証方法を文書化しています。2 番目の Rebrickable 認証方法では、API キーをクエリパラメーターとして渡します。資格情報レコードに API キーを保存すると、API キーがクリアテキストで公開されなくなります。

最初の認証方法では「key」という単語の後に API キーを続けたものを Authorization ヘッダーに渡します。資格情報レコードの [API キー] フィールド値として使用する値は key b4e0697ce3d5cf21af1088e9bd238dd です。

認証に関する Rebrickable のドキュメントには、API キーを認証ヘッダーに渡す方法、またはクエリパラメーターとして渡す方法が記載されています。

開発者向けのヒント[API キー] フィールドでは値がマスクされます。タイプミスを防ぐには、フィールドの外で完全なキーを作成してから、その値をフィールドに貼り付けます。

基本認証資格情報

資格情報タイプのリストで [基本認証資格情報] リンクをクリックします。資格情報の [名前][ユーザー名][パスワード] を構成します。

[基本認証資格情報] フォームに、名前「Rebrickable Basic Auth」、bsweets のユーザー名、マスクされたパスワードの値が入力されています。

  • 名前:資格情報の名前。API を明確に識別する説明的な名前を使用します。
  • ユーザー名:REST API にアクセスするためのアカウントのユーザー名。
  • パスワード:REST API にアクセスするためのアカウントのパスワード。

基本認証資格情報が使用されると、ServiceNow はユーザー名とパスワードからエンコード文字列を生成し、これが基本エンコード文字列として Authorization ヘッダーに渡されます。

記事 (21/25)

資格情報の使用

資格情報を使用するには、接続レコードで資格情報を選択します。

connection_admin ロールまたは admin ロールを持つユーザーは、接続に資格情報を割り当てることができます。

Rebrickable Key の資格情報は、Rebrickable v3 接続の資格情報として設定されます。

ステップの実行の詳細に、REST エンドポイントへのアクセスに使用された資格情報と接続が示されています。

ステップの実行の詳細に、REST API へのアクセスに Rebrickable Key 資格情報と Rebrickable v3 接続が使用されたことが示されています。

演習 (22/25)

演習:「IntegrationHub の REST」での作業内容を保存する (オプション)

開発者は、GitHub のようなソースコントロールアプリケーションを使用して、個人開発者インスタンス (PDI) の外部で変更をコミット (完了した作業を保存) できます。アプリケーションに加えられた変更をコミットして、作業をソースコントロールに保存します。

この演習では、GitHub に新しい IPInfo Spoke リポジトリを作成し、IPInfo Spoke アプリケーションを新しいリポジトリに接続して、このモジュールで完了した作業内容を保存します。

IPInfo Spoke のリポジトリを作成

  1. GitHub を開き、サインインします。

  2. [リポジトリ] セクションで、[新規リポジトリ] ボタンをクリックします。

    [新規] リポジトリボタンは [リポジトリ] セクションにあります。

  3. 新しいリポジトリを構成します。

      リポジトリ名 ipinfo-spoke
      説明 IntegrationHub モジュール IPInfo Spoke リポジトリの REST
  4. [リポジトリを作成 (Create repository)] ボタンをクリックします。

IPInfo Spoke アプリケーションをソースコントロールにリンクする

演習のこのセクションでは、新しい IPInfo Spoke リポジトリを表示して、IPInfo Spoke アプリケーションを新しいリポジトリにリンクし、コミットされたファイルを含むリポジトリを表示します。

  1. リポジトリページの [コード] タブを確認します。GitHub にはリポジトリをセットアップするための指示が含まれていることに注意してください。現在、リポジトリにファイルは存在しません。

  2. [クイックセットアップ] セクションで、[URL のコピー] ボタンをクリックします。

    [URL のコピー] ボタンで、URL を git リポジトリにコピーします。

  3. GitHub 接続の資格情報レコードを作成します。

    重要:資格情報レコードを作成する必要があるのは 1 回だけです。別の演習で資格情報レコードを既に作成している場合は、この手順をスキップしてください。

    1. Application Navigator を使用して、[接続および資格情報] > [資格情報] を開きます。

    2. [新規] ボタンをクリックします。

    3. [作成する資格情報のタイプは?] リストで、[基本認証資格情報] リンクをクリックします。

    4. 資格情報レコードを設定します。

      1. 名前GitHub 資格情報 (GitHub Credentials) - <お使いの github.com ユーザー名>

      2. ユーザー名<お使いの github.com ユーザー名>

      3. パスワード<お使いの github.com 個人アクセストークン>

        基本認証資格情報の新しいレコードフォーム。

    5. [送信] ボタンをクリックします。

  4. IPInfo Spoke アプリケーションを、ipinfo-spoke リポジトリにリンクします。

    1. Studio で、IPInfo Spoke アプリケーションが現在のアプリケーションであることを確認します。IPInfo Spoke が、Studio フッターに表示されているアプリケーション名であるはずです。

      Studio フッターの IPInfo Spoke。

    2. [ソースコントロール] メニューをクリックし、[ソースコントロールにリンク] メニューアイテムを選択します。

    3. [ソースコントロールへのリンク] ダイアログで、ソースコントロールへのリンクを構成します。

      1. URL<ipinfo-spoke リポジトリの作成後にコピーした URL>

      2. 分岐マスター (master)

      3. 資格情報GitHub 資格情報 (GitHub Credentials) - <お使いの github.com ユーザー名>

      4. コミットコメント初期 IPInfo Spoke コミット

        注意:前の演習で資格情報レコードを作成していない場合、資格情報レコードを作成する手順については、『GitHub Guide (GitHub ガイド)』の「ServiceNow が提供するアプリケーションリポジトリの使用 (Using ServiceNow-provided Application Repositories)」セクションを参照してください。

        ソースコントロールにリンク完了ダイアログ。

    4. [ソースコントロールへのリンク] ボタンをクリックします。

    5. [ソースコントロールへのリンク] ダイアログが成功を報告したら、[閉じる] ボタンをクリックします。

      変更が正常にコミットされました

記事 (23/25)

「IntegrationHub の REST」の理解度チェック

ここでは、IntegrationHub での REST Web サービスへのアクセスについての理解度を確認できます。自分の進行状況を評価するには、次の質問が役立ちます。質問ごとに回答を決定し、質問の任意の場所をクリックして回答を表示します。

質問:次のうち、IntegrationHub サブスクリプションレベルでないものはどれですか?

  1. スターター
  2. 基本
  3. 標準
  4. プロフェッショナル
  5. エンタープライズ


回答:正解は 2. 基本です。


質問:次の機能とスポークのうち、IntegrationHub を使用しているものはどれですか?複数の回答が正解の場合があります。

  1. Slack スポーク
  2. Customer Service スポーク
  3. PowerShell ステップ
  4. Make a decision フローロジック
  5. XML パーサー


回答:正解は 1. Slack スポーク3. PowerShell ステップ 5. XML パーサーです。Customer Service スポークには Customer Service Management のサブスクリプションが必要です。Make a decision フローロジックは Flow Designer に含まれています。


質問:正誤問題?インライン接続は、テスト用の REST ステップでのみ使用する必要があります。
回答:正解は正しいです。代わりに接続および資格情報エイリアスを使用する必要があります。これにより、アクションを使用するためにアクション自体を直接変更する必要がなくなります。


質問:REST ステップを動的にする方法を説明しているのは次のうちどれですか?複数の回答が正解の場合があります。

  1. エンドポイントを構築するスクリプトを作成します。
  2. HTTP メソッドを POST に設定すると、API に必要な値の入力を求められます。
  3. 外部 API のドキュメントに記載されている変数情報については、リソースパスのデータピルを使用します。
  4. 外部 API のドキュメントに記載されているクエリパラメーターについては、クエリパラメーターの値のデータピルを使用します。


回答:正解は 34 です。リソースパスの値とクエリパラメーターの値のデータピルを使用すると、REST ステップで使用するアクションに値を渡すことができます。

スクリプトはエンドポイントのコンポーネントを構築するために使用できますが、エンドポイント全体を構築するために使用することはできません。HTTP メソッドを POST に設定しても値の入力を求められず、API で動作しない可能性があります。


質問:REST ステップのテスト方法を説明する文は次のどれですか?複数の回答が正解の場合があります。

  1. アクションの [テスト] ボタンをクリックし、入力値を入力して、[テストを実行] ボタンをクリックします。
  2. アクションを公開し、action#singleQuotes トリガーの条件を満たします。
  3. [ドラフトアクションの表示] に構成されたフローにアクションを追加し、フローの [テスト] ボタンをクリックします。
  4. アクションを公開し、テストするフローにアクションを追加します。
  5. ステップの [テスト] ボタンをクリックし、入力値を入力して、[テストを実行] ボタンをクリックします。


回答:正解は 13 です。アクションから直接テストするのが、アクションの動作を検証する最も簡単な方法です。アクションはフローでテストすることもできますが、未公開のアクションをフローに追加する前に、フローに [ドラフトアクションを表示] 構成を設定する必要があります。

アクションにはトリガーがありません。アクションは公開してフローで使用することも、テストする前にアクションを公開してはいけません。ステップには [テスト] ボタンがありません。


質問:REST API 呼び出しからの応答本文を解析する方法を説明しているのは次のうちどれですか?複数の回答が正解の場合があります。

  1. XML パーサーステップを使用して、応答本文からデータを抽出します。
  2. JSON パーサーステップを使用して、応答本文からデータを抽出します。
  3. REST ステップで [応答を解析] オプションを使用して、応答の結果を出力変数に書き込みます。
  4. 応答本文を解析し、結果を出力変数に書き込むスクリプトステップを作成します。
  5. OpenAPI 仕様を使用して、応答本文から出力変数を生成します。


回答:正解は 14 です。XML パーサーステップには、IntegrationHub 標準パックのサブスクリプションが必要です。現時点では、JSON を解析する唯一の方法はスクリプトステップを使用することです。

現在利用可能な JSON パーサーステップはありません。REST ステップには応答を解析するオプションがありません。OpenAPI 仕様のサポートは REST ステップを構成するだけで、API からの出力の処理には役立ちません。


質問:接続および資格情報エイリアスを使用するメリットは次のうちどれか?複数の回答が正解の場合があります。

  1. 接続の詳細は、アクションとは別に REST メッセージレコードで構成できます。
  2. 接続の詳細はフローから分離されているため、接続が変更されてもフローを更新する必要はありません。
  3. 接続の詳細はアクションから分離されているため、接続が変更されてもアクションを更新する必要はありません。
  4. 複数の接続を接続および資格情報エイリアスに関連付けると、接続を簡単に切り替えることができます。
  5. 複数のアクションが単一の構成をポイントする場合があります。


回答:正解は 345 です。接続の詳細は、フローではなくアクションから分離されます。REST メッセージレコードは IntegrationHub から完全に分離されています。


質問資格情報レコードを選択して REST ステップを使用する方法を説明する文は次のどれですか?

  1. REST ステップで資格情報を選択します。
  2. 接続および資格情報エイリアスの資格情報を選択します。
  3. REST ステップは、有効なものが見つかるまで利用可能なすべての資格情報を試行します。
  4. 接続レコードで資格情報を選択します。


回答:正解は 4 です。接続レコードの [資格情報] フィールドを、その接続の正しい資格情報レコードで構成します。


質問:次のうち、REST APIs で使用される資格情報のタイプではないものはどれですか?複数の回答が正解の場合があります。

  1. API キー
  2. 基本認証
  3. CIM
  4. OAuth 2.0
  5. JDBC


回答:正解は 3. CIM5. JDBC です。


記事 (24/25)

IntegrationHub の REST モジュールのまとめ

コアコンセプト:

  • IntegrationHub を使用して、サードパーティプラットフォームとの再利用可能なインタラクションを作成します
  • IntegrationHub プラグインを有効化します。
    • 会社インスタンスの ServiceNow カスタマーサポートを通じて
    • 個人開発者インスタンスの開発者サイトから
  • 各 REST API に、スコープ対象のアプリケーションであるスポークを構築または使用します
  • インライン接続での REST API の使用はテスト専用です
  • 本番アクションの接続および資格情報エイリアスを使用して API 構成を一元化します
  • アクションのスクリプトステップを使用して、REST API から返された応答を解析します
  • アクションの出力を使用して、解析されたデータをフローで使用できるようにします
  • 接続および資格情報エイリアスを使用して、アクション構成を接続の詳細から分離し、次のことを行います。
    • REST API にアクセスするアクションの接続を 1 回設定します
    • 複数のホスト接続を集中的に管理します
  • 資格情報レコードの認証情報の安全性を確保します

記事 (25/25)

「IntegrationHub の REST」の完了後の参考資料

お疲れさまでした。「IntegrationHub の REST」モジュールはこれで完了です。IntegrationHub への関心に基づいて、さらに次のことも学んでいただけます。

  • 受信 REST データ連携:この開発者サイト学習モジュールでは、REST API Explorer を使用して ServiceNow API への要求を構築し、テストします。
  • Scripted REST APIs:この開発者サイト学習モジュールでは、Scripted REST API を作成します。続けて、REST API Explorer を使用してその API をテストします。
  • Flow Designer の使用:この開発者サイト学習モジュールでは、Flow Designer を使用して NeedIt の実行プロセスを管理するフローを作成、テスト、デバッグする方法を学習します。「Flow Designer の使用」は、Flow Designer を使用してアプリケーションを自動化する方法について説明する Flow Designer コースの 4 つのモジュールのうち、最初のモジュールです。