---
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


---

# GraphQL スキーマの作成

# GraphQL スキーマの作成 {#ariaid-title1}

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

GraphQL スキーマを作成して、GraphQL クエリでデータを使用できるようにします。

## 始める前に

必要なロール:graphql_schema_admin または admin

## 手順

1. 移動先 すべてシステム Web サービスGraphQLGraphQL API.
2. \[新規\] を選択します。
3. これらのフィールドに入力します。  
   {#build-graphql-scripted-schema__table_d5n_3vc_qkb__entry__2}

   | フィールド | 説明 |
   |-|-|
   | 名前 | スキーマの名前。 |
   | スキーマ名前空間 | アプリケーションの名前内で一意である必要があります。 |
   | アプリケーション | スキーマが含まれている読み取り専用アプリケーション。 |
   | アプリケーション名前空間 | 読み取り専用。スキー マ名前空間 と連携して、同じ名前のスキーマとの競合を回避します。 |
   | 有効 | GraphQL スキーマをオンまたはオフにするオプション。 |
   | スキーマ | GraphQL SDL 形式に準拠したスキーマ定義。有効な GraphQL 構文である必要があります。そうでない場合は、構文の問題を示すエラーメッセージが保存に表示されます。 注: 次の GraphQL 機能はサポートされていません。 * サブスクリプション操作 * カスタムスカラータイプ {#build-graphql-scripted-schema__ul_y4g_h3v_flb} |
   [ ]

   {#build-graphql-scripted-schema__table_d5n_3vc_qkb}

   スキーマで次のディレクティブを使用できます。

   `@source`: GraphQL フィールドを親オブジェクトのプロパティ値にマッピングします。フィールドに個別のリゾルバースクリプトがある場合、システムは親オブジェクトの代わりにそのフィールドが解決されるレコードを使用します。  
   この例では、スキーマでインシデントオブジェクトタイプを定義し、リゾルバースクリプトを使用して、そのタイプをインシデントテーブルの GlideRecord にマッピングします。`@source` ディレクティブを使用して、インシデントタイプ内のフィールドをインシデント GlideRecord の`値`または`display_value`にマッピングします。  

       type Incident {
           id: String @source(value: "sys_id.value")
           active: Boolean @source(value: "active.display_value")
           state: String @source(value: "state.display_value")    
           priority: String @source(value: "priority.display_value")
           severity: String
           description: DisplayableString
           resolvedBy: User @source(value: "resolved_by.value")
           openedBy: User @source(value: "opened_by.value")
           child_incidents: String
           opened_at: String
           resolved_at: String
           closed_at: String
           work_notes: String    
           comments: String @source(value: "comments.display_value")
           parent_incident: String
       }

4. \[ セキュリティ \] セクションで、フィールドに入力します。  
   {#build-graphql-scripted-schema__table_ql2_rlb_5kb__entry__2}

   | フィールド | 説明 |
   |-|-|
   | 承認が必要 | スキーマへのアクセスに認証を要求するには、このオプションを選択します。このオプションをオフにすると、スキーマが公開されます。 |
   | ACL 承認が必要 | API 全体の ACL 認証を要求するには、このオプションを選択します。\[ ACL\] フィールドで、GraphQL タイプの ACL を選択します。 特定のパスに対してのみ ACL 認証を使用するには、このオプションをオフのままにして、\[ パス ACL 深度\] フィールドで ACL を評価するレベルを指定します。 |
   | SNC 内部が必要 | スキーマに SNC 内部ロールが必要な場合は、このオプションを選択します。このオプションは、明示的なロールプラグイン (com.glide.explicit_roles) が有効になっている場合にのみ表示されます。 |
   | パス ACL の深さ | ACL を適用する GraphQL API のレベルを指定します。パスの深さを 3 以下に設定すると、使用するリソースが少なくなり、クエリ応答を返すのに役立ちます。 パスに使用する ACL を指定するには、GraphQL タイプの ACL を作成し、スキーマ名前空間で始まる正確な API パスを \[ 名前\] フィールドに追加する必要があります。例: /\<planet\>/\<findAll\>/\<name\>。ワイルドカードはサポートされていません。詳細については、「[Configure an ACL](https://www.servicenow.com/docs/access?context=t_CreateAnACLRule&version=australia&pubname=australia-platform-security&ft:locale=en-US)」を参照してください。 注: \[ ACL\] フィールドは API 全体に適用され、特定のパスに適用される ACL とは無関係です。 |
   | ACL | 受信クエリーをチェックする GraphQL タイプの ACL を選択します。選択した ACL は API 全体に適用されます。このオプションは、\[ ACL 承認が必要\] が選択されている場合にのみ表示されます。 |
   [ ]

   {#build-graphql-scripted-schema__table_ql2_rlb_5kb}  
   注:  
   API は、スキーマへのアクセス権がないユーザーや、API がアクセスに認証を必要とするときに認証されていないユーザーにクリアエラーメッセージを返します。
5. フォームを保存します。
6. **オプション:** リゾルバースクリプトを作成して、コンポーネントがフィールドをクエリしたときにスキーマが返す値を定義します。  
   フィールドのリゾルバーを定義しない場合、クエリは親オブジェクトタイプから一致するフィールド値を返します。たとえば、スキーマに作業メモフィールドを含むインシデントオブジェクトタイプがあるとします。インシデントオブジェクトタイプには、インシデントテーブルの GlideRecord にマップするリゾルバーがあります。作業メモフィールドのリゾルバーマッピングを作成しない場合、親オブジェクトのデータソース (インシデントテーブルの GlideRecord) で作業メモフィールドが検索され、関連する値が割り当てられます。
   1. \[GraphQL スクリプト化リゾルバー (GraphQL Scripted Resolvers)\] タブを選択し、\[ 新規\] を選択します。
   2. フォームに入力します。  
      {#build-graphql-scripted-schema__table_lzp_tpd_qkb__entry__2}

      | フィールド | 説明 |
      |-|-|
      | 名前 | リゾルバーの名前。 |
      | スキーマ | 読み取り専用スキーマ名前空間。 |
      | アプリケーション | スキーマが含まれている読み取り専用アプリケーション。 |
      | スクリプト | フィールドがクエリされたときに返される値を定義します。グローバル env オブジェクトで利用可能な関数: * getArguments():前のフィールドの引数を返します。 * getSource():親オブジェクトを返します。 {#build-graphql-scripted-schema__ul_stm_srx_glb} このスクリプトは GlideRecord にアクセスできます。 |
      [ ]

      {#build-graphql-scripted-schema__table_lzp_tpd_qkb}  
      この例では、関連付けられたフィールドがクエリされたときにユーザー テーブル からレコードを返します。  

          (function process(/*ResolverEnvironment*/ env) {

              var userid = env.getArguments().id != null ? env.getArguments().id : env.getSource();
              var now_GR = new GlideRecord('sys_user');
              gr.addQuery('sys_id', userid);
              gr.queryO;
              return gr;

          })(env);

   3. \[送信\] を選択します。
   {#build-graphql-scripted-schema__substeps_zn1_tjv_flb}
7. **オプション:** スキーマの型リゾルバーを定義して、インターフェイスとユニオンを具象型に解決します。
   1. \[GraphQL スクリプト化タイプリゾルバー\] タブを選択し、\[ 新規\] を選択します。
   2. フォームに入力します。  
      {#build-graphql-scripted-schema__table_tg2_r4d_qkb__entry__2}

      | フィールド | 説明 |
      |-|-|
      | スキーマ | 読み取り専用スキーマ名前空間。 |
      | タイプ | スキーマで定義されているインターフェイスまたは共用体タイプ。 |
      | アプリケーション | スキーマが含まれている読み取り専用アプリケーション。 |
      | スクリプト | ユニオンタイプとインターフェイスタイプに対して返される値を定義します。グローバル env オブジェクトで利用可能な関数: * getArguments():前のフィールドの引数を返します。 * getObject(): 親オブジェクトを返します。 * getTypeName():インターフェイスまたは Union タイプの名前を返します。 {#build-graphql-scripted-schema__ul_chl_5rx_glb} このスクリプトは GlideRecord にアクセスできます。 |
      [ ]

      {#build-graphql-scripted-schema__table_tg2_r4d_qkb}
   3. \[送信\] を選択します。
   {#build-graphql-scripted-schema__substeps_qfm_zjv_flb}
8. **オプション:** リゾルバーレコードとタイプリゾルバーレコードをスキーマ内のフィールドにマッピングします。  
   このマッピングは、コンポーネントがフィールドをクエリしたときに返される値をシステムに指示します。
   1. \[GraphQL スクリプト化リゾルバーマッピング (GraphQL Scripted Resolver Mappings)\] タブを選択し、\[ 新規\] を選択します。
   2. フォームに入力します。  
      {#build-graphql-scripted-schema__table_esl_pqd_qkb__entry__2}

      | フィールド | 説明 |
      |-|-|
      | パス | マッピングするスキーマ内のフィールドへのパス。 |
      | リゾルバー | フィールドによって返されるデータの定義に使用するリゾルバー。 |
      | アプリケーション | スキーマが含まれている読み取り専用アプリケーション。 |
      | スキーマ | 読み取り専用スキーマ名前空間。 |
      [ ]

      {#build-graphql-scripted-schema__table_esl_pqd_qkb}
   3. \[送信\] を選択します。
   {#build-graphql-scripted-schema__substeps_ajw_jkv_flb}

