---
sourceDocument: オーストラリア API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/api-reference

 Release :

    - australia

ft:locale :

    - ja-JP

ft:publication_title :

    - オーストラリア API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# 拡張ポイントを使用してアプリケーション機能を拡張する

# 拡張ポイントを使用してアプリケーション機能を拡張する {#ariaid-title1}

* リリースバージョン: Australia
* 
* 更新日 2026年03月12日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：9分

拡張ポイントを使用して、元のアプリケーションコードを変更せずにアプリケーションの機能を拡張します。選択した ServiceNow AI Platform アプリケーションで利用可能な既存の拡張ポイントを使用することも、独自のインスタンスでカスタムアプリケーションを開発するときに拡張ポイントを追加することもできます。

## 拡張ポイントの使用 {#extension-points__section_blc_wft_pdb}

拡張ポイントを使用すると、アプリケーションコードのコアコンポーネントを実際に変更することなくカスタマイズを統合できます。拡張ポイントを使用すると、カスタムコードをアプリケーションコードに直接埋め込んだ場合に、アップグレード後によく発生するカスタムコードのインタラクションが壊れるのを防ぐことができます。

アプリケーションコードに埋め込まれた拡張ポイントは、データをカスタムコードに渡すアウトポイントとして、そして返される結果を処理するインポイントとして機能します。アプリケーションを作成する場合、返されるデータまたはオブジェクトは、拡張ポイントに定義した要件に準拠している必要があります。  
注:  
すぐに利用可能な構成済みの CSM クエリルールの中には、ビジネスルール内の定数でも使用されているため、変更または無効化できないものがあります。

## 拡張ポイントのタイプ {#extension-points__section_zm3_dvf_kgb}

次のタイプのアーティファクトを使用するカスタムコードを処理する拡張ポイントを作成できます。

スクリプト拡張ポイント
:   JavaScript 関数とオブジェクトクラスを格納するサーバーサイドスクリプトインクルードの拡張ポイント。スクリプトインクルード、およびアプリケーションおよびカスタムコードにスクリプト化された拡張ポイントを実装する方法については、以下を参照してください。  
    * [スクリプトインクルード](https://servicenow-prod.fluidtopics.net/dfrwqTdcFyPlg3xiDNt1SQ#c_ScriptIncludes "スクリプトインクルードは、サーバー上で実行される JavaScript の格納に使用されます。")
    * [スクリプト拡張ポイントの作成と追加](https://servicenow-prod.fluidtopics.net/bTExPHtdzyXv9N9vQ9d5Cw "アプリケーションを開発する場合は、スクリプト拡張ポイントを作成し、それをアプリケーションコードのスクリプトインクルードに追加します。スクリプト拡張ポイントを使用して、登録されたカスタムスクリプトインクルードにデータまたはオブジェクトを送信でき、返された結果が処理される特定の場所を指定します。")
    * [拡張ポイントを使用してアプリケーション機能を拡張する](https://servicenow-prod.fluidtopics.net/G87TESYnVG~l0kK52ieKZg "拡張ポイントを使用して、元のアプリケーションコードを変更せずにアプリケーションの機能を拡張します。選択した ServiceNow AI Platform アプリケーションで利用可能な既存の拡張ポイントを使用することも、独自のインスタンスでカスタムアプリケーションを開発するときに拡張ポイントを追加することもできます。")
    {#extension-points__ul_vr2_kyc_cgb}

UI 拡張ポイント

:   HTML 拡張などのサーバー側 UI マクロで使用される拡張ポイント。 UI マクロは、ユーザーインターフェイスに追加できる個別のスクリプト化されたコンポーネントです。これらを使用すると、ページを直接変更する必要なく、カスタムコンテンツを UI ページに追加できます。たとえば、UI マクロを使用して、KB 記事が表示される標準の ナレッジベース ビュー (kb_view) の UI ページにヘッダーとフッターを追加できます。

    UI マクロ、およびアプリケーションおよびカスタムコードに UI 拡張ポイントを実装する方法については、以下を参照してください。

    * [UI マクロ](https://servicenow-prod.fluidtopics.net/Mr675lXi8W2G5FeUekvQUQ#c_UIMacros "UI マクロは、アドミニストレーターがユーザーインターフェイスに追加できる個別のスクリプト化されたコンポーネントです。")
    * [UI 拡張ポイントの作成と追加](https://servicenow-prod.fluidtopics.net/gT1_TolEEPy~KaoFyfkgdw#impl-ui-ext-pts-base-code "アプリケーションを開発する場合は、UI 拡張ポイントを作成して、基本アプリケーションコード内のサーバー側 HTML 拡張などの UI マクロまたは UI ページに追加します。")
    * [拡張ポイントを使用してアプリケーション機能を拡張する](https://servicenow-prod.fluidtopics.net/G87TESYnVG~l0kK52ieKZg "拡張ポイントを使用して、元のアプリケーションコードを変更せずにアプリケーションの機能を拡張します。選択した ServiceNow AI Platform アプリケーションで利用可能な既存の拡張ポイントを使用することも、独自のインスタンスでカスタムアプリケーションを開発するときに拡張ポイントを追加することもできます。")
    {#extension-points__ul_csp_ncd_cgb}

クライアント拡張ポイント

:   クライアント側 UI スクリプトで使用される拡張ポイント。通常はフォームの変更に使用されます。 UI スクリプトを使用すると、クライアント側 JavaScript を再利用可能な形式にパッケージ化できます。これは、スクリプトインクルードにサーバー側 JavaScript を格納する方法と似ています。UI スクリプトを作成し、それらをクライアントスクリプト、他のクライアント側スクリプトオブジェクト、および HTML コードから実行できます。

    UI スクリプト、およびアプリケーションおよびカスタムコードでクライアント拡張ポイントを実装する方法については、以下を参照してください。

    * [UI スクリプト](https://servicenow-prod.fluidtopics.net/1f7srrqkNdp9G6fJwDrGjA#c_UIScripts "UI スクリプトを使用すると、クライアント側の JavaScript を再利用可能な形式にパッケージ化できます。これは、スクリプトインクルードがサーバー側の JavaScript を格納する方法と似ています。アドミニストレーターは、UI スクリプトを作成し、それらをクライアントスクリプト、他のクライアント側のスクリプトオブジェクト、および HTML コードから実行できます。")
    * [クライアント拡張ポイントの作成と追加](https://servicenow-prod.fluidtopics.net/VyIrY66iUx7tMGxYksY~JA "クライアント拡張ポイントを作成し、それを基本アプリケーションコードのクライアント側 UI スクリプトに追加します。")
    * [拡張ポイントを使用してアプリケーション機能を拡張する](https://servicenow-prod.fluidtopics.net/G87TESYnVG~l0kK52ieKZg "拡張ポイントを使用して、元のアプリケーションコードを変更せずにアプリケーションの機能を拡張します。選択した ServiceNow AI Platform アプリケーションで利用可能な既存の拡張ポイントを使用することも、独自のインスタンスでカスタムアプリケーションを開発するときに拡張ポイントを追加することもできます。")
    {#extension-points__ul_yvg_rcd_cgb}

拡張ポイントを使用してカスタマイズを処理する場合は、カスタムデータまたは機能をアプリケーションに統合するための定義済みの構造を作成します。カスタムサーバーサイドスクリプトインクルード、HTML 拡張などの UI マクロ、およびクライアントサイド UI スクリプトはすべてアプリケーションコードの外部にあり、指定された拡張ポイントでのみアプリケーションコードとやり取りします。

## アプリケーションコード {#extension-points__section_a2j_wgy_xgb}

アプリケーションコードという用語は、以下を指します。

標準アプリケーションコード
:   ServiceNow AI Platformを構成する標準またはベースアプリケーションコード。  
    事前定義された拡張ポイントは、 カスタマーサービス管理 (CSM) や フィールドサービス管理 (FSM) などの特定のアプリケーションに既に埋め込まれています。事前定義された拡張ポイントを含む ServiceNow AI Platform アプリケーションの詳細については、以下を参照してください。{#extension-points__table_qqv_xzh_zgb__entry__2}

    | アプリケーション | 拡張ポイントトピック |
    |-|-|
    | コーチング | [コーチングの問題の解決](https://www.servicenow.com/docs/access?context=cf-coaching-troubleshooting&version=australia&pubname=australia-it-service-management&ft:locale=en-US) |
    | 継続的改善管理 | [他のアプリケーションによる改善](https://www.servicenow.com/docs/access?context=cim-integration&version=australia&pubname=australia-it-service-management&ft:locale=en-US) |
    | カスタマーサービス管理 (CSM) | [カスタマーサービス管理 (CSM) の拡張ポイント](https://www.servicenow.com/docs/access?context=extension-points-customer-service&version=australia&pubname=australia-customer-service-management&ft:locale=en-US) |
    | カスタマーサービス管理 (CSM) | [カスタムユーザーロールの作成](https://www.servicenow.com/docs/access?context=creating-custom-csm-user-roles&version=australia&pubname=australia-customer-service-management&ft:locale=en-US) |
    | カスタマーサービス管理 (CSM) | [変更管理との CSM 統合](https://www.servicenow.com/docs/access?context=csm-integration-sm-change&version=australia&pubname=australia-customer-service-management&ft:locale=en-US) |
    | カスタマーサービス管理 (CSM) | [インシデント管理との CSM 統合](https://www.servicenow.com/docs/access?context=csm-integration-sm-incident&version=australia&pubname=australia-customer-service-management&ft:locale=en-US) |
    | カスタマーサービス管理 (CSM) | [問題管理との CSM 統合](https://www.servicenow.com/docs/access?context=csm-integration-sm-problem&version=australia&pubname=australia-customer-service-management&ft:locale=en-US) |
    | カスタマーサービス管理 (CSM) | [要求管理との CSM 統合](https://www.servicenow.com/docs/access?context=csm-integration-sm-request&version=australia&pubname=australia-customer-service-management&ft:locale=en-US) |
    | フィールドサービス管理 (FSM) | [フィールドサービス管理 (FSM) の拡張ポイント](https://www.servicenow.com/docs/access?context=extension-points-field-service&version=australia&pubname=australia-field-service-management&ft:locale=en-US) |
    | ナレッジ管理 | [ナレッジ管理での拡張ポイントの使用](https://www.servicenow.com/docs/access?context=extension-points-km-plugins&version=australia&pubname=australia-servicenow-platform&ft:locale=en-US) |
    | オーケストレーション | [クライアントソフトウェアディストリビューション拡張ネットワーク](https://www.servicenow.com/docs/access?context=c_CSDExtensionFramework&version=australia&pubname=australia-servicenow-platform&ft:locale=en-US) [クライアントソフトウェアディストリビューションと一緒にインストールされる内容](https://www.servicenow.com/docs/access?context=r_IWClientSWDist&version=australia&pubname=australia-servicenow-platform&ft:locale=en-US) |
    | パスワードリセット | [パスワードリセットスクリプトインクルード](https://www.servicenow.com/docs/access?context=c_InstalledPasswordResetScripts&version=australia&pubname=australia-servicenow-platform&ft:locale=en-US) |
    [ ]

    {#extension-points__table_qqv_xzh_zgb}

社内開発のエンタープライズ向けカスタムアプリケーション
:   拡張ポイントを追加して、アプリケーションの機能を変更または拡張するために使用されるカスタムアーティファクトの登録を処理できます。開発者は、カスタムコードを作成するときに、特定のカスタムアーティファクトを特定の拡張ポイントに登録またはペアリングします。拡張ポイントを追加すると、ベースコードを変更することなく、将来のカスタマイズを統合できます。

## アプリケーションコードでの拡張ポイントの作成 {#extension-points__section_mf1_3pg_sdb}

企業用に作成した社内で開発されたアプリケーションを、必要に応じて適切にカスタマイズ、結合、およびアップグレードできるようにする必要があります。拡張ポイントを使用すると、コアコンポーネントを編集せずにアプリケーションの機能とユーザーインターフェイスを変更できます。拡張ポイントを使用すると、機能拡張のための高度に定義された構造も作成されます。  
拡張ポイントを作成するときは、その使用を定義されているアプリケーションスコープに制限したり、拡張ポイントをグローバルなすべてのスコープで実行できるように指定したりできます。アプリケーションスコープが制限されている場合、拡張ポイントに対して登録されたカスタマイズは、指定されたアプリケーションスコープでのみ実行できます。拡張ポイントを含むアプリケーションを設計およびビルドする前に、次のことを行う必要があります。

* カスタムスクリプトインクルード、UI マクロ、または UI スクリプトに対応するために、アプリケーションコード内の拡張ポイントを配置する場所を特定します。
* 決定 拡張ポイントのコンテンツと構造。この定義では、カスタマイズの構成方法、アプリケーションコードとのやり取りの方法、および拡張ポイントでカスタマイズによって返されるデータを処理する方法について説明します。
{#extension-points__ul_mz5_1hj_vdb}  
拡張ポイントを作成してアプリケーションコードに埋め込むには、次のタスクを実行します。

1. 拡張ポイントを作成し、そのカスタムインターフェイスを定義します。これはスクリプト化された拡張ポイントの例です。

2. アプリケーションコード内で、データまたはオブジェクトをカスタマイズに送信でき、データが返される特定の場所を指定します。
3. [GlideScriptedExtensionPoint - スコープ指定](https://servicenow-prod.fluidtopics.net/wi~iVP0TIhg8yJ2DvE0fxQ#GlideScriptedExtPtScopedAPI "GlideScriptedExtensionPoint API は、指定された拡張ポイントに関連付けられた拡張インスタンスを返すメソッドを提供します。") メソッドを呼び出すアーティファクト (スクリプトインクルード、UI マクロ、UI スクリプトなど) を作成します。このメソッドは、登録されたカスタムアーティファクトがアプリケーションコードで実行される拡張ポイントを識別します。
{#extension-points__ol_ffm_c2g_pfb}

## デバッグとログ記録の有効化 {#extension-points__section_h5t_gty_xgb}

拡張ポイントを作成するときは、デバッグとログ記録も有効にする必要があります。デバッグとログ記録は、拡張ポイントを使用したカスタムアーティファクトの使用に関連する問題を特定して修正するのに役立ちます。デバッガーを有効にすると、スクリプトインクルード、UI マクロ、または UI スクリプトにブレークポイントを設定できます。ログを確認すると、次の詳細を確認できます。

* 拡張ポイントがアクティブな拡張インスタンスを検出したとき (検出された拡張インスタンスの合計数と各拡張インスタンスが検出された時刻を含む)。
* 拡張ポイントが拡張インスタンスを実行するタイミング (実行されたカスタムアーティファクトの合計数と各実行時間を含む)。また、実行に失敗した合計数と、各拡張インスタンスが失敗した時刻も含まれます。

{#extension-points__ul_wj3_vmr_rdb}  
注:  
デバッグを有効にする方法とその仕組みの詳細については、以下を参照してください。

* [スクリプトデバッガおよびセッションログ](https://servicenow-prod.fluidtopics.net/OupSjcu45v~9R1h8Z6VrrQ "スクリプトデバッガ では、script_debugger ロールを持つユーザーがサーバーサイド JavaScript をデバッグすることができます。log_debugger ロールを持つユーザーは、セッションログ を使用して必要なログを表示およびダウンロードできます。")
* [アプリケーションのデバッグ](https://servicenow-prod.fluidtopics.net/VTeoKkGWlUuk_evgAsqrJg#c_DebuggingApplications "アプリケーション開発者は、設定レコードに関するデバッグメッセージを表示して、問題のトラブルシューティングに役立てることができます。デバッグスコープモジュールは、サーバーサイドスクリプトを実行するカスタムアプリケーション間のシステム切り替えに関する情報を提供します。")
* [デバッグログへの書き込み](https://servicenow-prod.fluidtopics.net/q0iGXnpsS2IaVMrcFS3DSA#c_WritingToTheDebugLog "クライアントサイドの JavaScript または UI ポリシーでデバッグログに書き込むには、グローバル関数 jslog() を呼び出します。")
{#extension-points__ul_rzj_psy_xgb}

## 拡張ポイントに対するカスタムアーティファクトの登録 {#extension-points__section_up3_thj_vdb}

アプリケーションをカスタマイズする場合は、サーバーサイドスクリプトインクルード、UI マクロ、クライアントサイド UI スクリプトなどのカスタムアーティファクトを使用して、基本機能を拡張します。カスタムアーティファクトを設計およびビルドするには、次のタスクを実行します。  
1. 作成している特定のタイプのカスタムアーティファクトに適した利用可能な拡張ポイントのリストを確認します。
   * これらのリストには、作成した拡張ポイントと、 ServiceNow AI Platform 機能に埋め込まれている事前定義された拡張ポイントが含まれます。
   * 各リストには、カスタムアーティファクトを呼び出すアプリケーションコード内の拡張ポイントに関する情報と、その拡張ポイントに返すデータまたはオブジェクトが含まれています。
   {#extension-points__ul_wsn_hxf_kgb}
2. 拡張ポイントを選択します。
3. カスタムアーティファクトを構造化する方法を決定します。構造は、拡張ポイントの説明に基づいている必要があります。説明には、カスタムコードでアーティファクトを使用するための要件と、アーティファクトがベースアプリケーションコード内のどこに配置されるかが含まれます。
4. 選択した拡張ポイントに対して登録する際に、カスタムアーティファクトとコードを作成します。登録を通じて、拡張ポイント定義をカスタムアーティファクトでの実装にリンクする拡張インスタンスレコードを作成します。
{#extension-points__ol_xxk_nfg_pfb}

## 登録されたカスタムアーティファクトの処理方法 {#extension-points__section_gnb_nqy_rdb}

アプリケーションコードが実行され、拡張ポイントを含む埋め込み API 呼び出しが見つかると、次のようになります。

1. API 呼び出しで拡張ポイントを使用して、それに対して登録されているカスタムアーティファクトを決定します。
2. 登録されたカスタムアーティファクトに適切なデータまたはオブジェクトを送信します。
3. 各カスタムアーティファクトから返された出力を収集します。
4. 返された結果を処理してベースアプリケーションに組み込みます。
{#extension-points__ol_i1m_5vl_rdb}
* **[サーバー側スクリプトでのスクリプト拡張ポイントの使用](https://servicenow-prod.fluidtopics.net/kC29wPiiuIj1Qk7n8PyZsg)**   
  JavaScript 関数とオブジェクトクラスが格納されるサーバー側スクリプトインクルードで拡張ポイントを使用します。拡張ポイントを使用すると、アプリケーションコードのコアコンポーネントを実際に変更することなくカスタマイズを統合できます。
* **[サーバー側 UI マクロの UI 拡張ポイントの使用](https://servicenow-prod.fluidtopics.net/U36_zCP_AvVR1TITtM~U1g)**   
  HTML 拡張などのサーバー側 UI マクロの UI 拡張ポイントを使用して、ページを直接変更しなくても UI ページにカスタムコンテンツを追加できます。UI 拡張ポイントを使用すると、アプリケーションコードのコアコンポーネントを実際に変更することなくカスタマイズを統合できます。
* **[クライアント側 UI スクリプティングのクライアント拡張ポイントの使用](https://servicenow-prod.fluidtopics.net/cK0U99K~zzM_dJDQgoXU_w)**   
  クライアント側 UI スクリプトでクライアント拡張ポイントを使用してフォームを変更します。そのため、フォームを直接変更する必要はありません。クライアント拡張ポイントを使用すると、アプリケーションコードのコアコンポーネントを実際に変更することなくカスタマイズを統合できます。

