マイクロアプリ

ServiceNowの統合

ServiceNowと統合して要求を送信および監視し、任意のデバイス、イントラネット、またはメッセンジャーからアクションを実行します。

注:

2つのServiceNow統合テンプレートが提供されています。ほとんどのユースケースでは、新しいHTTP統合を使用することをお勧めします。このHTTP統合は、キャッシュされたデータ構造を構成するためのより強力な機能です。いずれの統合も、同じセットアッププロセスを使用します。各統合で使用可能なマイクロアプリについて詳しくは、「ServiceNowマイクロアプリの使用」を参照してください。

以下のプロセスを使用して、ServiceNow統合を有効にします。前提条件を満たしていることを確認し、APIアクセスを有効にして、専用ユーザーにロールを割り当てます。このプロセスを完了すると、Citrixマイクロアプリの使用によって実行されたすべてのアクションを含む、既存のレベルの監査ログが保持されます。

この統合により以下のことが可能になります:

  • Workspace Experienceでタスクを作成します。このソリューションでは、現在ログインしているユーザーに基づいて、API要求に「opened_by」パラメーターを追加します。サービスアクションパラメーター設定で「opened_by」を明示的に定義すると、デフォルト値と置き換えられます。
  • マイクロアプリ内で要求を承認します。このソリューションでは、user_nameによって設定された承認状況の文をコメントフィールドに追加して、誰が承認を実行したのかを特定します。
  • マイクロアプリから新しいサービスカタログ要求を作成します。このソリューションでは、現在ログインしているユーザーに基づいて、API要求に「requested_for」パラメーターを追加します。

追加設定不要のServiceNowマイクロアプリの一覧については、「ServiceNowマイクロアプリの使用」を参照してください。

必須条件の確認

これらの前提条件は、組織のServiceNowインスタンスを管理して統合をセットアップすることを想定しています。このServiceNow管理者アカウントには、完全なデータアクセス特権が必要です。マイクロアプリ統合に別のServiceNowアカウントを使用する場合は、読み取り権限をsys_journal_fieldなどの制限されたテーブルに手動で追加する必要があります。特に、管理者はServiceNowのデータ構造に関する情報が含まれている次のテーブルにアクセスする必要があります:

  • sys_db_object
  • sys_dictionary
  • sys_choice

重要:

HTTP統合を管理するServiceNow管理アカウントでは、タイムゾーンをUTCに設定する必要があります。これは、Workspaceおよび増分データ同期で時間を正確に処理するために必要です。時間の不一致が見られる場合は、まずこれらの設定を確認して問題を解決してください。

Workspaceユーザーには、サービスアクションを完了するために適切な役割を割り当てる必要があります。適切な役割は、ServiceNowの構成によって異なります。

Citrix Workspaceマイクロアプリに統合を追加するには、以下の詳細情報が必要です:

  • インスタンスURL
  • ユーザー名
  • パスワード

OAuth 2.0の場合:

  • クライアントID
  • クライアントシークレット

注: 利用可能な場合は、サービス認証方法として常にOAuth 2.0を使用することをお勧めします。OAuth 2.0は、統合が、構成済みのマイクロアプリとの最大限のセキュリティコンプライアンスを満たすことを保証します。

  • 新しいoauth2 client_idとclient_secretを取得して、クライアントのアプリケーションのスコープを定義します。

  • Citrix GatewayがServiceNowのシングルサインオンに対応するように構成して、ユーザーがログインすると、再度資格情報を入力しなくても自動的に再ログインできるようにします。ServiceNow Single Sign-on構成の手順に従ってください。SSOの構成について詳しくは、「Citrix Gatewayサービス」を参照してください。

必要なテーブルへのAPIアクセスの有効化

ServiceNowテーブルのほとんどは、デフォルトでWebサービスを介したアクセスが有効になっています。Workspaceと同期するテーブルに、Webサービス経由でアクセス可能かどうかを確認するには、以下の操作を実行hします:

  1. ServiceNowにログインします。
  2. [System Definition]>[Tables] を選択します。
  3. 確認するテーブル名の横にある [Information] アイコンを選択します。[Open record] を選択します。[Application Access] タブを開き、[Allow access to this table via web services]チェックボックスがオンになっていることを確認します。
  4. 必要に応じてこのチェックボックスをオンにして、[Update]をクリックして設定を保存します。

コールバックURLの追加

インスタンス構成にカスタムURLを追加して、プライベートデータへのアクセスを許可し、OAuth認証済みユーザーアクションを有効にします。一覧の最初のコールバックは変更されません。2番目のコールバックはターゲットアプリケーションによって異なり、統合の作成時にURLアドレスバーに表示されます。セクション{yourmicroappserverurl}は、テナント部分、リージョン部分、環境部分で構成されています:https://{tenantID}.{region(us/eu/ap-s)}.iws.cloud.com

  1. 管理者としてServiceNowにログインします。
  2. [System OAuth]>[Application Registry] に移動して [New] を選択します。
  3. [Create an OAuth API endpoint for external clients] を選択します。
  4. [Redirect URL] フィールドに、この統合用に以下のコンマで区切られた承認済みリダイレクトURLを入力します:

    • https://{yourmicroappserverurl}/app/api/auth/serviceAction/callback
    • https://{yourmicroappserverurl}/admin/api/external-services/com.sapho.services.servicenow.ServiceNowService/auth/serverContext

    [PKCEが必要] が選択されていないことを確認してください。

  5. [Submit] をクリックします。

クエリのフィルタリング

ほとんどのServiceNowエンティティは、フィルタリングをサポートしています。Table APIのGETメソッドのsysparm_query URLパラメーターを使用して、フィルタリングを行うことができます。定義済みのクエリを選択するか、自分のカスタムクエリを作成します。詳しくは、ServiceNow REST APIリファレンスと製品ドキュメントを参照してください。

注:

クエリまたはその一部が無効な場合、ServiceNowのドキュメントで指定されているように、無効な部分は無視されます。

例:

// アクティブなオブジェクトのみ:
active=true

// 過去2日間に更新済み:
sys_updated_onONLast%20day@javascript:gs.daysAgoStart(1)@javascript:gs.daysAgoEnd(0)

// 過去3時間に更新済み:
sys_updated_onONLast%20hour@javascript:gs.hoursAgoStart(2)@javascript:gs.hoursAgoEnd(0)

// 過去4か月間に更新済み:
sys_updated_onONLast%20month@javascript:gs.monthsAgoStart(3)@javascript:gs.monthsAgoEnd(0)

Citrix Workspaceマイクロアプリへの統合の追加

ServiceNow統合をCitrix Workspaceマイクロアプリに追加して、アプリケーションに接続します。これにより、通知とアクションが設定済みとなっている追加設定不要のマイクロアプリを、Workspace内で使用できるようになります。2つのServiceNow統合テンプレートが提供されています。ほとんどのユースケースでは、新しいHTTP統合を使用することをお勧めします。

ServiceNow HTTP統合の追加

ServiceNowのHTTP統合をセットアップするには、次の手順を実行します。認証オプションは事前に選択されています。プロセスの完了時に、これらのオプションが選択されていることを確認してください。ほとんどのユースケースでは、この新しいHTTP統合を使用することをお勧めします。このHTTP統合は、キャッシュされたデータ構造を構成するためのより強力な機能です。

次の手順を実行します:

  1. [マイクロアプリ統合] ページで [新しい統合を追加] および [Citrix提供のテンプレートから新しい統合を追加する] を選択します。
  2. ServiceNowタイルを選択します。
  3. 統合の [統合名] を入力します。
  4. [コネクタのパラメーター] を入力します。
    • インスタンスの [ベースURL] を入力するか、例の{customer-id}を顧客IDに置き換えます。
    • アイコンライブラリから統合の アイコンを選択するか、デフォルトのServiceNowのアイコンのままにしておきます。

    ServiceNow HTTPパラメーター

    • オンプレミス接続を作成する場合は、[オンプレミスインスタンス] を有効にします。詳しくは、「オンプレミスインスタンス」を参照してください。

    ServiceNow HTTPオンプレミス

  5. [サービス認証][認証方法] メニューから [OAuth 2.0] を選択して認証の詳細を完了します。OAuth 2.0セキュリティプロトコルを使用して、委任されたアクセスの要求/承認トークンを生成します。利用可能な場合は、サービス認証方法として常にOAuth 2.0を使用することをお勧めします。OAuth 2.0は、統合が、構成済みのマイクロアプリとの最大限のセキュリティコンプライアンスを満たすことを保証します。

    1. [許可の種類] メニューから [リソース所有者のパスワード] を選択します。リソースサーバーによるアクセストークンのプロビジョニングを承認するために、正しい資格情報を提供します。
    2. [トークン認証] メニューから [要求の本文] を選択します。
    3. [トークンURL] を入力するか、例の{customer-id}を顧客IDに置き換えます。これが、アクセス承認トークンのURLです。
    4. [ユーザー名][パスワード] を入力します。これらは、ServiceNowの完全なテーブル構造とすべてのテーブルにアクセスできるサービスアカウントの資格情報です。
    5. [クライアントID] を入力します。クライアントIDは、承認サーバーに固有のクライアント登録情報を表す文字列です。
    6. [クライアントシークレット] を入力します。クライアントシークレットは、ターゲットアプリケーション統合のセットアップ時に発行される一意の文字列です。
    7. [ヘッダープレフィックス] を入力します。(オプション)ベアラープレフィックスがデフォルトのヘッダーと異なる場合、ヘッダープレフィックスを入力します。

    ServiceNow HTTPサービス認証

    1. [OAuth 2.0] 認証方式を選択した場合、[+パラメーターの追加] を選択して [アクセストークンパラメーター] を含めます。アクセストークンパラメーターでは、ターゲットアプリケーション承認サーバーによる要求に従って、必要に応じてアクセストークンパラメーターを定義します。

    ServiceNow HTTPトークン

  6. [サービスアクション認証][[アクション]で個別のユーザー認証を使用する] を有効にします。サービスアクション認証は、サービスアクションレベルで認証します。

    1. [認証方法] メニューから [OAuth 2.0] を選択して認証の詳細を完了します。
    2. [許可の種類] メニューで [認証コード] を選択します。これによって、クライアントが交換するアクセストークン用の一時コードが付与されます。コードは認証サーバーから取得され、そこでクライアントが要求している情報を確認できます。この許可の種類のみが、安全なユーザーの偽装を有効にします。これにより、アプリケーションの登録時に使用する [コールバックURL] が表示されます
    3. [トークン認証] メニューから [要求の本文] を選択します。
    4. [認証URL] を入力するか、例の{customer-id}を顧客IDに置き換えます。これが、ターゲットアプリケーション統合をセットアップするときに提供される承認サーバーのURLです。
    5. [トークンURL] を入力するか、例の{customer-id}を顧客IDに置き換えます。これが、アクセス承認トークンのURLです。
    6. (オプション) [スコープ] に入力して、アクセスリクエストのスコープを定義します。この文字列が、ターゲットアプリケーション統合をセットアップするときに承認サーバーで定義されます。
    7. [クライアントID] を入力します。クライアントIDは、承認サーバーに固有のクライアント登録情報を表す文字列です。ServiceNowアカウントでOAuthクライアントを登録して、これとシークレットを収集します。統合構成ページに表示される [コールバックURL] を追加する必要があります。
    8. [クライアントシークレット] を入力します。クライアントシークレットは、ターゲットアプリケーション統合のセットアップ時に発行される一意の文字列です。
    9. (オプション)ベアラープレフィックスがデフォルトのヘッダーと異なる場合、ヘッダープレフィックスを入力します。
    10. [OAuth 2.0] 認証方式を選択した場合、[+パラメーターの追加] を選択して [アクセストークンパラメーター] を含めます。アクセストークンパラメーターでは、ターゲットアプリケーション承認サーバーによる要求に従って、必要に応じてアクセストークンパラメーターを定義します。

    ServiceNow HTTPサービスアクション認証

  7. (オプション)この統合のレート制限をアクティブ化する場合は、[Request rate limiting] を有効にし、[Time interval] あたりの [Number of requests] を設定します。
  8. (オプション)サポートのために24時間のログを保持するには、[ログ] を有効にします。

    レート制限とログの切り替え

  9. [保存] を選択します。

レガシー統合の追加

以下の手順に従って、レガシーJavaベースのServiceNow統合をセットアップします。

次の手順を実行します:

  1. 概要ページから、[はじめに]を選択します。

    [統合の管理]ページが開きます。

  2. [新しい統合を追加] および [Citrix提供のテンプレートから新しい統合を追加する] を選択します。
  3. ServiceNowタイルを選択します。
  4. 統合の名前を入力します。

    ServiceNowのコネクタのパラメーター、URL、ユーザー名、パスワード、認証方法、接続数

  5. 前提条件として収集したコネクタのパラメーターを入力します。
    • [URL] を入力します。
    • [ユーザー名][パスワード] を入力します。
    • [認証方法] を選択します。OAuth 2.0セキュリティプロトコルを使用して、委任されたアクセスの要求/承認トークンを生成します。
    • Oauth 2.0の場合は、前提条件の手順で収集したOAuthクライアントIDOAuthクライアントシークレットを入力します。
    • ServiceNow接続の数に数字を入力します。この値で、データ同期を開始する文字列の数を決定します。

      注: デフォルトの接続の数は3です。より多くの接続を開くと、データ同期の時間が短縮されますが、マイクロアプリサーバーの負荷が増加し、そのパフォーマンスに影響を与える可能性があります。必要な場合は、10以下にすることをお勧めします。

    • たとえば、終了した要求の一覧や、active = falseに設定されている他のデータを取得する場合、非アクティブなデータをダウンロードするラジオボタンをクリックします。
  6. [追加] を選択します。

[マイクロアプリ統合] ページが開き、追加した統合とそのマイクロアプリが表示されています。ここから別の統合を追加したり、追加設定不要のマイクロアプリのセットアップを続行したり、この統合用の新しいマイクロアプリを作成したりできます。

これで、最初のデータ同期を設定して実行する準備ができました。統合アプリケーションからマイクロアプリプラットフォームに大量のデータをプルできるので、[テーブル] ページを使用して、最初のデータ同期のエンティティをフィルタリングし、同期を高速化することをお勧めします。

詳しくは、「統合の構成」で「必要なエンティティの確認」および「データ同期の設定」を参照してください。

APIエンドポイントとテーブルエンティティについて詳しくは、「ServiceNow HTTPコネクタの仕様」または「ServiceNowコネクタの仕様」を参照してください。

ServiceNowマイクロアプリの使用

既存のアプリケーション統合には、追加設定不要のマイクロアプリが付属しています。これらのマイクロアプリから開始して、ニーズに合わせてカスタマイズします。

注: 2つのServiceNow統合テンプレートが提供されています。ほとんどのユースケースでは、古いJavaベースの統合よりも新しいHTTP統合を使用することをお勧めします。それぞれに含まれるマイクロアプリは多少異なります。

HTTP ServiceNowマイクロアプリ

ServiceNow HTTPマイクロアプリ

HTTP ServiceNow統合には、以下の設定済みで追加設定不要のマイクロアプリで利用できます:

変更要求: 変更要求を検索し、その詳細を表示し、コメントを追加して更新します。

通知またはページ ユースケースワークフロー
変更要求割り当て通知 既存の変更要求がユーザーに割り当てられると、ユーザーは通知を受け取ります。
変更要求担当者(オープンしたユーザー)変更通知 変更要求の担当者が変更されると、要求をオープンしたユーザーは通知を受け取ります。
変更要求担当者(要求したユーザー)変更通知 変更要求の担当者が変更されると、要求したユーザーは通知を受け取ります。
変更要求のステータス(アサイン先)変更通知 変更要求の状況が変更されると、要求が割り当てられたユーザーは通知を受け取ります。
変更要求のステータス(オープンしたユーザー)変更通知 変更要求の状況が変更されると、要求をオープンしたユーザーは通知を受け取ります。
変更要求のステータス(要求したユーザー)変更通知 変更要求の状況が変更されると、要求したユーザーは通知を受け取ります。
新規変更要求割り当て通知 新しい変更要求がユーザーに割り当てられると、ユーザーは通知を受け取ります。
変更要求の詳細ページ 変更要求の詳細の読み取り専用ビューを提供します。
変更要求にコメント追加ページ 変更要求にコメントするためのフォームを提供します。
私のオープン変更要求ページ ユーザーは、自分に割り当てられている、または自分が要求した、または自分がオープンしたオープンな変更要求を検索できます。
変更要求の更新ページ 変更要求を更新するためのフォームを提供します。

インシデント: インシデントを検索して詳細を表示し、コメントの追加と更新を行います。

通知またはページ ユースケースワークフロー
インシデント割り当て通知 既存のインシデントがユーザーに割り当てられると、ユーザーは通知を受け取ります。
インシデント担当者(問い合わせユーザー)変更通知 インシデントの担当者が変更されると、インシデントを報告したユーザーは通知を受け取ります。
インシデント担当者(オープンしたユーザー)変更通知 インシデントの担当者が変更されると、インシデントをオープンしたユーザーは通知を受け取ります。
インシデントステータスの変更(アサイン先)通知 インシデントのステータスが変更されると、インシデントが割り当てられたユーザーは通知を受け取ります。
インシデントステータスの変更(問い合わせユーザー)通知 インシデントのステータスが変更されると、インシデントを報告したユーザーは通知を受け取ります。
インシデントステータスの変更(オープンしたユーザー)通知 インシデントのステータスが変更されると、インシデントをオープンしたユーザーは通知を受け取ります。
新規インシデント割り当て通知 新しいインシデントがユーザーに割り当てられると、ユーザーは通知を受け取ります。
インシデントフォームにコメント追加ページ インシデントにコメントするためのフォームを提供します。
インシデントの詳細ページ インシデントの詳細の読み取り専用ビューを提供します。
自分のオープンインシデントページ ユーザーは、自分に割り当てられている、または自分が要求した、または自分が報告したオープンインシデントを検索できます。
インシデントの更新ページ インシデントを更新するためのフォームを提供します。

問題: 問題を検索して詳細を表示し、コメントの追加と更新を行います。

通知またはページ ユースケースワークフロー
新規問題割り当て通知 新しい問題がユーザーに割り当てられると、ユーザーは通知を受け取ります。
問題割り当て通知 既存の問題がユーザーに割り当てられると、ユーザーは通知を受け取ります。
問題担当者変更(オープンしたユーザー)通知 問題の担当者が変更されると、問題をオープンしたユーザーは通知を受け取ります。
問題ステータスの変更(アサイン先)通知 問題のステータスが変更されると、問題が割り当てられたユーザーは通知を受け取ります。
問題ステータスの変更(オープンしたユーザー)通知 問題のステータスが変更されると、問題をオープンしたユーザーは通知を受け取ります。
問題にコメント追加ページ 問題にコメントするためのフォームを提供します。
自分のオープン問題ページ ユーザーは、自分に割り当てられている、または自分がオープンしたオープン問題を検索できます。
問題の詳細ページ 問題の詳細の読み取り専用ビューを提供します。
問題の更新ページ 問題を更新するためのフォームを提供します。

承認のリクエスト: 保留中の承認を検索して表示し、承認または拒否します。

通知またはページ ユースケースワークフロー
新しい承認要求(要求されたアイテム)通知 ユーザーに要求または変更要求の承認が割り当てられると、ユーザーは承認または拒否できるアクション可能な通知を受け取ります。
新しい承認要求(問題)通知 ユーザーに問題の承認が割り当てられると、ユーザーは承認または拒否できるアクション可能な通知を受け取ります。
保留中の承認要求ページ ユーザーは、自分に割り当てられている保留中の承認を検索できます。
承認要求の詳細ページ 承認または拒否することができる、保留中の承認の詳細なアクション可能なビューを提供します。

変更要求の送信: アイテムを選択して新しい変更要求を送信します。

通知またはページ ユースケースワークフロー
変更要求の送信ページ 変更要求を送信するためのフォームを提供します。

代理人の送信: 新しい代理人を送信します。

通知またはページ ユースケースワークフロー
代理人の送信ページ 新しい代理人を送信するためのフォームを提供します。

インシデントの送信: 新しいインシデントを送信します。

通知またはページ ユースケースワークフロー
インシデントの送信ページ 新しいインシデントを送信するためのフォームを提供します。

問題の送信: 新しい問題を送信します。

通知またはページ ユースケースワークフロー
問題の送信ページ 新しい問題を送信するためのフォームを提供します。

JavaベースのServiceNowマイクロアプリ

ServiceNowマイクロアプリ

JavaベースのServiceNow統合には、以下の設定済みで追加設定不要のマイクロアプリが付属しています:

承認: 保留中の承認を検索して表示し、承認または拒否します。

通知またはページ ユースケースワークフロー
新規承認依頼通知 ユーザーに新しい承認依頼が割り当てられると、ユーザーは承認または拒否できるアクション可能な通知を受け取ります。
承認依頼の詳細ページ 承認または拒否することができる、保留中の承認の詳細なアクション可能なビューを提供します。
保留中の要求ページ ユーザーは、自分に割り当てられている保留中の承認を検索できます。

変更要求: 変更要求を検索し、その詳細を表示し、コメントを追加して更新します。

通知またはページ ユースケースワークフロー
変更要求割り当て通知 既存の変更要求がユーザーに割り当てられると、ユーザーは通知を受け取ります。
変更要求担当者変更通知 変更要求の担当者が変更されると、要求をオープンしたユーザーは通知を受け取ります。
変更要求状況変更通知 変更要求の状況が変更されると、要求をオープンしたユーザーは通知を受け取ります。
新規変更要求割り当て通知 新しい変更要求がユーザーに割り当てられると、ユーザーは通知を受け取ります。
変更要求の詳細ページ 変更要求の詳細の読み取り専用ビューを提供します。
変更要求フォームにコメント追加ページ 変更要求にコメントするためのフォームを提供します。
私のオープン変更要求ページ ユーザーは、自分に割り当てられているオープン変更要求を検索できます。
変更要求フォームの更新ページ 変更要求を更新するためのフォームを提供します。

インシデント: インシデントを検索して詳細を表示し、コメントの追加と更新を行います。

通知またはページ ユースケースワークフロー
インシデント割り当て通知 既存のインシデントがユーザーに割り当てられると、ユーザーは通知を受け取ります。
インシデント担当者変更通知 インシデントの担当者が変更されると、インシデントをオープンしたユーザーは通知を受け取ります。
インシデントステータスの変更通知 インシデントのステータスが変更されると、インシデントをオープンしたユーザーは通知を受け取ります。
新規インシデント割り当て通知 新しいインシデントがユーザーに割り当てられると、ユーザーは通知を受け取ります。
インシデントフォームにコメント追加ページ インシデントにコメントするためのフォームを提供します。
インシデントの詳細ページ インシデントの詳細の読み取り専用ビューを提供します。
自分のオープンインシデントページ ユーザーは、自分に割り当てられているオープンインシデントを検索できます。
インシデントフォームの更新ページ インシデントを更新するためのフォームを提供します。

問題: 問題を検索して詳細を表示し、コメントの追加と更新を行います。

通知またはページ ユースケースワークフロー
新規問題割り当て通知 新しい問題がユーザーに割り当てられると、ユーザーは通知を受け取ります。
問題割り当て通知 問題の担当者が変更されると、その担当者は通知を受け取ります。
問題担当者変更通知 問題の担当者が変更されると、問題をオープンしたユーザーは通知を受け取ります。
問題ステータスの変更通知 問題のステータスが変更されると、問題をオープンしたユーザーは通知を受け取ります。
問題フォームにコメント追加ページ 問題にコメントするためのフォームを提供します。
自分のオープン問題ページ ユーザーは、自分に割り当てられているオープン問題を検索できます。
問題の詳細ページ 問題の詳細の読み取り専用ビューを提供します。
問題フォームの更新ページ 問題を更新するためのフォームを提供します。

カタログ要求の送信: アイテムを選択して、カタログ要求を送信します。

通知またはページ ユースケースワークフロー
アイテムの選択ページ ユーザーは、カタログを検索し、使用可能なアイテムを選択できます。
カタログ要求の送信ページ カタログ要求を送信するためのフォームを提供します。

変更要求の送信: 新しい変更要求を送信します。

通知またはページ ユースケースワークフロー
変更要求の送信ページ 変更要求を送信するためのフォームを提供します。

代理人の送信: 新しい代理人を送信します。

通知またはページ ユースケースワークフロー
代理人の送信ページ 新しい代理人を送信するためのフォームを提供します。

インシデントの送信: 新しいインシデントを送信します。

通知またはページ ユースケースワークフロー
インシデントの送信ページ 新しいインシデントを送信するためのフォームを提供します。

問題の送信: 新しい問題を送信します。

通知またはページ ユースケースワークフロー
問題の送信ページ 新しい問題を送信するためのフォームを提供します。

ServiceNowの統合