---
sourceDocument: Xanadu で AI を有効にする
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/intelligent-experiences

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu で AI を有効にする

ft:clusterId :

    - platai

bundleId :

    - platai

workflow :

    - Platform


---

# ドキュメント分類ユースケースのエクスポート

# ドキュメント分類ユースケースのエクスポート {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年09月04日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：13分

更新セットに追加して、別の ServiceNow® インスタンスで使用するためにドキュメント分類ユースケースをエクスポートします。

## 始める前に

* ユースケースをエクスポートおよびインポートするときは、両方のインスタンスに同じファミリーリリースがあり、同じバージョンの ドキュメントインテリジェンス (DocIntel) がインストールされていることを確認してください。
* 必要なロール:sn_docintel.manager
{#export-document-classification-use-case__ul_odd_ny5_pcc}

## このタスクについて

次の手順に従って、ドキュメント分類ユースケースを、そのフィールド、フィールドグループ、統合、フロー、および関連するすべての機械学習 (ML) モデルとともに更新セットにエクスポートします。その後、更新セットをエクスポートして別のインスタンスで使用できます。

詳細については、「[System update sets](https://www.servicenow.com/docs/access?context=system-update-sets&version=xanadu&pubname=xanadu-application-development&ft:locale=en-US)」を参照してください。

## 手順

1. 移動先 すべてシステム定義スクリプト -- バックグラウンド.
2. 以下のスクリプトをコピーして、\[ スクリプトを実行 \] ボックスに貼り付けます。  

       var TASK_DEFINITION_TO_EXPORT_SYS_ID = "";
       var TASK_BATCH_SIZE = 50;

       var scopeToUpdateSet = {};
       var taskDefinitionName = "";

       function getTaskSuffix(taskBatchNum) {
          if (taskBatchNum != null) {
             return (
                " task " +
                ((taskBatchNum - 1) * TASK_BATCH_SIZE + 1) +
                "-" +
                taskBatchNum * TASK_BATCH_SIZE
             );
          } else {
             return "";
          }
       }

       function createUpdateSet(taskBatchNum) {
          var taskSuffix = getTaskSuffix(taskBatchNum);
          var globalNameSuffix = " global update set" + taskSuffix;
          var docintelNameSuffix = " docintel update set" + taskSuffix;
          var globalKey = "global" + taskSuffix;
          var docintelKey = "19b40605edae411005e8007f82757635" + taskSuffix;

          // Create a new global update set
          var globalUpdateSetGR = new GlideRecord("sys_update_set");
          globalUpdateSetGR.initialize();
          globalUpdateSetGR.name = taskDefinitionName + globalNameSuffix;
          globalUpdateSetGR.application = "global";
          var globalUpdateSetID = globalUpdateSetGR.insert();
          scopeToUpdateSet[globalKey] = globalUpdateSetID;
          // Create a new DocIntel scope update set
          var updateSetGR = new GlideRecord("sys_update_set");
          updateSetGR.initialize();
          updateSetGR.name = taskDefinitionName + docintelNameSuffix;
          updateSetGR.application = "19b40605edae411005e8007f82757635";
          updateSetGR.parent = globalUpdateSetGR.sys_id;
          var updateSetID = updateSetGR.insert();
          scopeToUpdateSet[docintelKey] = updateSetID;
       }

       function saveToUpdateSet(glideRecord, taskCount) {
          var gum;
          var scope = String(glideRecord.sys_scope || "global");
          if (scope !== "global" && scope !== "19b40605edae411005e8007f82757635") {
             gs.info("unknown scope: " + scope + "|" + glideRecord.getDisplayValue());
             return;
          }
          
          var taskBatchNum = taskCount ? Math.ceil(taskCount / TASK_BATCH_SIZE) : null;
          var updateSetSysId = scopeToUpdateSet[scope + getTaskSuffix(taskBatchNum)];
          if (!updateSetSysId) {
             createUpdateSet(taskBatchNum);
             updateSetSysId = scopeToUpdateSet[scope + getTaskSuffix(taskBatchNum)];
          }
        
          try {
             gum = new GlideUpdateManager2(updateSetSysId);
          } catch (e) {
             var gus = new GlideUpdateSet();
             gus.set(updateSetSysId);
             gum = new GlideUpdateManager2();
          }
          gum.saveRecord(glideRecord);
       }

       function exportTaskDefinition(taskDefinitionId) {
        var currentUpdateSetSysId = gs.getPreference("sys_update_set");
        // Get task definition
        var taskDefinitionGR = new GlideRecord("di_task_definition");
        if (!taskDefinitionGR.get(taskDefinitionId)) {
        gs.info("task definition not found.");
        return;
        }
        
       taskDefinitionName = taskDefinitionGR.getValue("display_name");
        createUpdateSet(null);
        
        //Push records into the current update set
        // Task Definition
        saveToUpdateSet(taskDefinitionGR);
        saveToUpdateSet(taskDefinitionGR.ml_definition_ocr.getRefRecord());
        saveToUpdateSet(taskDefinitionGR.ml_definition_training.getRefRecord());
        saveToUpdateSet(taskDefinitionGR.ml_definition_prediction.getRefRecord());
        saveToUpdateSet(
        taskDefinitionGR.ml_definition_pdf_preprocessing.getRefRecord()
        );

        // KeyGroups
        var keyGroupGR = new GlideRecord("di_key_group");
        keyGroupGR.addQuery("task_definition", taskDefinitionId);
        keyGroupGR.query();
        while (keyGroupGR.next()) {
        saveToUpdateSet(keyGroupGR);
        }

        // Keys
        var keyGR = new GlideRecord("di_key");
        keyGR.addQuery("task_definition", taskDefinitionId);
        keyGR.query();
        while (keyGR.next()) {
        saveToUpdateSet(keyGR);
        }

        // ML Solutions
        var mlSolutionGR = new GlideRecord("ml_solution");
        mlSolutionGR.addQuery("solution_name", "CONTAINS", taskDefinitionId);
        mlSolutionGR.addQuery("active", true);
        mlSolutionGR.query();
        while (mlSolutionGR.next()) {
        saveToUpdateSet(mlSolutionGR);
        // ML Model Artifacts
        var mlModelArtifactGR = new GlideRecord("ml_model_artifact");
        mlModelArtifactGR.addQuery("solution", mlSolutionGR.sys_id);
        mlModelArtifactGR.query();
        while (mlModelArtifactGR.next()) {
        saveToUpdateSet(mlModelArtifactGR);
        }
        // ML progress tracker
        saveToUpdateSet(mlSolutionGR.progress_tracker.getRefRecord());
        }

        // Tasks
        var taskCount = 0;

        var taskGR = new GlideRecord("di_task");
        taskGR.addQuery("task_definition", taskDefinitionId);
        taskGR.query();
        while (taskGR.next()) {
        taskCount += 1;
        saveToUpdateSet(taskGR, taskCount);
        // PDFs
        var pdfGR = new GlideRecord("di_pdf");
        pdfGR.addQuery("task", taskGR.sys_id);
        pdfGR.query();
        while (pdfGR.next()) {
        saveToUpdateSet(pdfGR, taskCount);
        }
        // Images
        var imageGR = new GlideRecord("di_image");
        imageGR.addQuery("task", taskGR.sys_id);
        imageGR.query();
        while (imageGR.next()) {
        saveToUpdateSet(imageGR, taskCount);
        // Candidate Scores
        var candidateScoreGR = new GlideRecord("di_candidate_score");
        candidateScoreGR.addQuery("image", imageGR.sys_id);
        candidateScoreGR.query();
        while (candidateScoreGR.next()) {
        saveToUpdateSet(candidateScoreGR, taskCount);
        }
        }
        // Extracted Values
        var extractedValueGR = new GlideRecord("di_extracted_value");
        extractedValueGR.addQuery("task", taskGR.sys_id);
        extractedValueGR.query();
        while (extractedValueGR.next()) {
        saveToUpdateSet(extractedValueGR, taskCount);
        }
        // Prediction Inputs
        var predictionInputGR = new GlideRecord("di_prediction_input");
        predictionInputGR.addQuery("task", taskGR.sys_id);
        predictionInputGR.query();
        while (predictionInputGR.next()) {
        saveToUpdateSet(predictionInputGR, taskCount);
       }

        // Training Inputs
        var trainingInputGR = new GlideRecord("di_training_input");
        trainingInputGR.addQuery("task", taskGR.sys_id);
        trainingInputGR.query();
        while (trainingInputGR.next()) {
        saveToUpdateSet(trainingInputGR, taskCount);
        }
        }

        // Reset current update set
        new GlideUpdateSet().set(currentUpdateSetSysId);

        // Mark as completed
        for (var updateSetKey in scopeToUpdateSet) {
        var globalUpdateSetGR = new GlideRecord("sys_update_set");
        globalUpdateSetGR.get(scopeToUpdateSet[updateSetKey]);
        globalUpdateSetGR.setValue("state", "complete");
        globalUpdateSetGR.update();
        }
       }

       exportTaskDefinition(TASK_DEFINITION_TO_EXPORT_SYS_ID);

3. 新しいブラウザタブでインスタンスを開き、 すべてドキュメントインテリジェンス (DocIntel)ドキュメント分類ユースケース.
4. エクスポートするユースケースを開きます。
5. URL からsys_idをコピーします。  
   たとえば、次の URL から `9f426b878749e110ba3540809bbb35a6` をコピーします。

   https://instancename.service-now.com/now/docintel-admin/usecase/9f426b878749e110ba3540809bbb35a6
6. \[ スクリプト - バックグラウンド \] タブで、 `TASK_DEFINITION_TO_EXPORT_SYS_ID` 変数の 1 行目にsys_idを貼り付けます。  
   たとえば、スクリプトの行は次のようになります。

   `var TASK_DEFINITION_TO_EXPORT_SYS_ID = "9f426b878749e110ba3540809bbb35a6";`
7. \[ スクリプトを実行 \] を選択して、グローバルスコープでバックグラウンドスクリプトを実行します。  
   このスクリプトの実行には数分かかる場合があります。
8. 移動先 システムアップデートセットローカル更新セット.  
   名前がユースケースの名前で始まる複数の更新セットが表示される場合があります。
9. 名前に「グローバル更新セット」および「グローバル更新セットタスク x-y」が含まれる各更新セットを選択し、関連リンクで \[更新セットバッチを XML にエクスポート \] を選択して XML ファイルをダウンロードします。  
   注:  
   「グローバル更新セットタスク x-y」という名前で、x-y は更新セットの一部であるタスクの範囲を表します。たとえば、100のドキュメントタスクがある場合、2つのバッチ更新セットが見つかります。1つは名前に「グローバル更新セットタスク1-50」、もう1つは「グローバル更新セットタスク51-100」です。

## タスクの結果

ユースケースが XML ファイルとしてコンピューターにエクスポートされます。

## 次のタスク

ユースケースをエクスポートした後、 ServiceNow® インスタンスで使用するためにインポートします。詳細については、「[ドキュメント分類ユースケースのインポート](https://servicenow-prod.fluidtopics.net/6PpTqnfdeitY3fl~hfoZUQ "ServiceNowインスタンスで使用するドキュメント分類ユースケースをインポートします。")」を参照してください。
**関連タスク**   

* [ドキュメント分類ユースケースのインポート](https://servicenow-prod.fluidtopics.net/6PpTqnfdeitY3fl~hfoZUQ "ServiceNowインスタンスで使用するドキュメント分類ユースケースをインポートします。")
* [ドキュメント分類ユースケースの削除](https://servicenow-prod.fluidtopics.net/MX6h2FICY~TObyUiqc_4iw "ドキュメントに不要になったユースケースを削除します。")

