PlaybookExperience - スコープ指定

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:39分
  • PlaybookExperience API は、プレイブックの実行を処理するためのメソッドを提供します。

    この API はプレイブックエクスペリエンスコアプラグイン (com.glide.playbook_experience.config) を必要とし、 sn_playbook 名前空間内で提供されます。

    この API では、プロセス定義 [sys_pd_process_definition] テーブルに少なくとも 1 つのプレイブックが必要です。この API を使用するには、プロセスオートメーションデザイナーで実行中のプロセスを表示およびキャンセルするために必要なロールが必要です。詳細については、「 プロセスオートメーションデザイナー」を参照してください。

    PlaybookExperience:cancelPlaybook(文字列 playbookContext, 文字列 cancellationReason, 文字列 playbookExperienceId, ブール強制)

    個々のプレイブックをキャンセルします。

    表 : 1. パラメーター
    名前 タイプ 説明
    プレイブックコンテキスト GlideRecord キャンセルする [sys_pd_context] レコード。
    キャンセルの理由 文字列 プレイブックの実行をキャンセルする理由。これは、ランタイムユーザーの UI にも表示されます。
    playbookExperienceId 文字列 オプション。キャンセルに使用するプレイブックエクスペリエンス [sys_playbook_experience] テーブル内のプレイブックエクスペリエンスレコードのSys_id。カスタムアクティビティ状況マッピングを定義している場合は、このパラメーターを使用します。「 プレイブックアクティビティ状況のマッピング」を参照してください。

    デフォルト:グローバルの Playbook Experience レコードの sys_id。

    force ブール オプション。true に設定すると、進行中のアクティビティの基になるフローがキャンセルされます。cancellationReason パラメーターは、このパラメーターが true に設定されている場合は使用されません。アクティビティを強制的にキャンセルできるのは、プレイブックがキャンセルされ、sys_pd_contextが [キャンセル処理待ち] ステータスになっている場合のみです。
    注:
    フローエンジンは、プレイブックがキャンセルされたときに問題を作成することなく、基になるすべてのフローのキャンセルを試みますが、問題が発生しないことを保証することはできません。
    表 : 2. 戻り値
    タイプ 説明
    <Object>.canceledPlaybookContext キャンセルされたプレイブック実行の関連データ (キャンセルされた理由など)。

    データタイプ:アレイ

    "canceledPlaybookContext": [
        {
          "can_read": Boolean,
          "canceled_by": "String",
          "can_add_activity": Boolean,
          "snapshot_id": "string",
          "can_restart": Boolean,
          "can_cancel": Boolean,
          "cancellation_reason": "String",
          "errors": [Array],
          "parent_record": "String",
          "parent_table": "String",
          "playbook_id": "String",
          "playbook_table": "String",
          "scoped_name": "String",
          "variant_id": "String",
          "is_archived": Boolean,
          "state": {Object},
          "sys_id": "String",
          "title": "String"   
        }
    ]
    <Object>.canceledPlaybookContext.can_add_activity ユーザーがプレイブックにオプションのアクティビティを追加できるかどうかを示すフラグ。
    有効な値:
    • true:現在のユーザーは、プレイブックにオプションのアクティビティを追加できます。
    • false:現在のユーザーはプレイブックにオプションのアクティビティを追加できません。

    データタイプ:ブーリアン

    <Object>.canceledPlaybookContext.can_cancel ユーザーがプレイブックをキャンセルできるかどうかを示すフラグ。
    • true:非アクティブ化されたプレイブックのプロセス定義がアクティブです。
    • false:非アクティブ化されたプレイブックのプロセス定義は非アクティブです。

    データタイプ:ブーリアン

    <Object>.canceledPlaybookContext.can_read

    現在のユーザーがプレイブック実行レコードを読み取ることができるかどうかを示すフラグ。プレイブック実行レコードを読み取るには、現在のユーザーが親レコードへの読み取りアクセス権を持っている必要があります。

    有効な値:
    • true:現在のユーザーには、プレイブック実行レコードへの読み取りアクセス権があります。
    • false:現在のユーザーにはプレイブック実行レコードへの読み取りアクセス権がありません。

    データタイプ:ブーリアン

    <Object>.canceledPlaybookContext.can_restart ユーザーがプレイブック、ステージ、またはアクティビティを再起動できるかどうかを示すフラグ。
    • true:現在のユーザーはプレイブック、ステージ、またはアクティビティを再起動できます。
    • false:現在のユーザーはプレイブック、ステージ、またはアクティビティを再起動できません。

    データタイプ:ブーリアン

    <Object>.canceledPlaybookContext.canceled_by プレイブックの実行をキャンセルしたユーザーの ユーザー ID

    データタイプ:文字列

    <Object>.canceledPlaybookContext.cancellation_reason プレイブックの実行をキャンセルしたユーザーによって入力されたキャンセル理由。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.errors キャンセルエラーのリスト。各エラーはアレイ内のオブジェクトです。

    データタイプ:アレイ

    "errors": [
        {      
          "message": "String",
          "type": "String"  
        }
    ]
    <Object>.canceledPlaybookContext.errors.message エラーメッセージ。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.errors.type エラーのタイプ。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.is_archived プレイブックコンテキストレコードをアーカイブするかどうかを示すフラグ。true に設定します。この値は変更できません。
    可能な値:
    • true:プレイブックコンテキストレコードがアーカイブされます。
    • false:プレイブックコンテキストレコードはアーカイブされません。

    データタイプ:ブーリアン

    <Object>.canceledPlaybookContext.parent_record プレイブックの実行がキャンセルされた親レコードのSys_id。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.parent_table 親レコードの取得元テーブルの名前。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.playbook_id プロセス定義 [sys_pd_process_definition] テーブルからのプレイブックのSys_id。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.playbook_table プレイブックの取得元テーブルの名前。一般的にはプロセス定義 [sys_pd_process_definition] テーブルです。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.scoped_name プロセス定義 [sys_pd_process_definition] テーブルからのプレイブックのスコープ対象の名前。形式 は scope.name です。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.snapshot_id [sys_pd_snapshot] テーブルからの プレイブック実行のスナップショット のSys_id。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.state プロセス実行 [sys_pd_context] テーブルからのプレイブック実行のステータス。

    データタイプ: オブジェクト

    "state": {    
       "displayValue": "String",    
       "value": "String"
    }
    <Object>.canceledPlaybookContext.state.displayValue プレイブック実行ステータスの表示値。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.state.value プレイブック実行ステータスの値。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.sys_id プロセス実行 [sys_pd_context] テーブルからのプレイブック実行のSys_id。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.title プロセス実行 [sys_pd_context] テーブルからのプレイブック実行のラベル。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.variant_id プロセス実行 [sys_pd_context] テーブルからのプレイブックバリアント実行のSys_id。

    この例では、実行時間が長すぎる特定のプレイブックの単一の実行をキャンセルする方法を示します。

    var process = new GlideRecord('sys_pd_context');
    
    process.get("SYS_ID");
    
    var cancelPlaybookReturn = sn_playbook.PlaybookExperience.cancelPlaybook(process, "This playbook ran for too long");
    
    gs.info(JSON.stringify(cancelPlaybookReturn));

    出力:

    {
     "scoped_name": "global.test_user_form",
     "canceled_by": "maint",
     "can_add_activity": true,
     "snapshot_id": "28ec63425459e250f87766647bf35e7e",
     "playbook_table": "sys_pd_process_definition",
     "can_restart": false,
     "can_cancel": true,
     "title": "Test User Form",
     "cancellation_reason": "This process ran for too long",
     "parent_table": "incident",
     "can_read": true,
     "sys_id": "418b1e7ea722435bb4facac50fc9b4f3",
     "variant_id": null,
     "is_archived": false,
     "state": {
       "displayValue": "Pending Cancel",
       "value": "PENDING_CANCEL"
     },
     "parent_record": "8cdc23425459e250f87766647bf35ea1",
     "playbook_id": "d589efca5419e250f87766647bf35e29",
     "errors": []
    }

    特定のプレイブックの単一の実行を強制的にキャンセルします。

    var forceCancelPlaybookReturn = sn_playbook.PlaybookExperience.cancelPlaybook(process, "This playbook did not cancel", undefined, true);
    
    gs.info(JSON.stringify(forceCancelPlaybookReturn));

    出力:

    {
     "scoped_name": "global.test_user_form",
     "canceled_by": "maint",
     "can_add_activity": true,
     "snapshot_id": "28ec63425459e250f87766647bf35e7e",
     "playbook_table": "sys_pd_process_definition",
     "can_restart": false,
     "can_cancel": true,
     "title": "Test User Form",
     "cancellation_reason": "This process ran for too long",
     "parent_table": "incident",
     "can_read": true,
     "sys_id": "418b1e7ea722435bb4facac50fc9b4f3",
     "variant_id": null,
     "is_archived": false,
     "state": {
       "displayValue": "Cancelled",
       "value": "CANCELLED"
     },
     "parent_record": "8cdc23425459e250f87766647bf35ea1",
     "playbook_id": "d589efca5419e250f87766647bf35e29",
     "errors": []
    }

    PlaybookExperience - cancelPlaybooksByParentRecord(GlideRecord parentRecord, 文字列 cancellationReason, 文字列 scopedName, 文字列 playbookExperienceId)

    指定された親レコードのプレイブック実行をキャンセルします。

    表 : 3. パラメーター
    名前 タイプ 説明
    parentRecord GlideRecord プレイブックの実行をキャンセルする親レコード。親レコードには、インタラクションレコードやオンボーディングケースレコードなど、プレイブックが実行されている任意のレコードを使用できます。
    キャンセルの理由 文字列 プレイブック実行をキャンセルする理由。
    scopedName 文字列 オプション。キャンセルするプレイブックのスコープ対象の名前。スコープ対象の名前は、プロセス定義 [sys_pd_process_definition] テーブルからの形式 scope.name です。指定した場合、指定された親レコードのこのプレイブックの実行のみがキャンセルされます。指定しない場合、指定された親レコードのすべてのプレイブックのすべての実行がキャンセルされます。
    playbookExperienceId 文字列 オプション。キャンセルに使用するプレイブックエクスペリエンス [sys_playbook_experience] テーブル内のプレイブックエクスペリエンスレコードのSys_id。カスタムアクティビティ状況マッピングを定義している場合は、このパラメーターを使用します。「Playbook activity state mapping」を参照してください。

    デフォルト:グローバルの Playbook Experience レコードの sys_id。

    表 : 4. 返される内容
    タイプ 説明
    オブジェクト キャンセルされたプレイブック実行と、キャンセルできなかったスキップされたプレイブック実行を含むオブジェクト。
    {
      "canceledPlaybookContext": [Array],
      "skippedPlaybookContext": [Array]
    }
    
    <Object>.canceledPlaybookContext キャンセルされたプレイブック実行のリスト。プレイブックの各実行は、アレイ内の 1 つのオブジェクトです。

    データタイプ:アレイ

    "canceledPlaybookContext": [
        {
          "can_read": Boolean,
          "canceled_by": "String",
          "cancellation_reason": "String",
          "errors": [Array],
          "parent_record": "String",
          "parent_table": "String",
          "playbook_id": "String",
          "playbook_table": "String",
          "scoped_name": "String",
          "state": {Object},
          "sys_id": "String",
          "title": "String"   
        }
    ]
    <Object>.canceledPlaybookContext.can_add_activity ユーザーがプレイブックにオプションのアクティビティを追加できるかどうかを示すフラグ。
    有効な値:
    • true:現在のユーザーは、プレイブックにオプションのアクティビティを追加できます。
    • false:現在のユーザーはプレイブックにオプションのアクティビティを追加できません。

    データタイプ:ブーリアン

    <Object>.canceledPlaybookContext.can_cancel ユーザーがプレイブックをキャンセルできるかどうかを示すフラグ。
    • true:非アクティブ化されたプレイブックのプロセス定義がアクティブです。
    • false:非アクティブ化されたプレイブックのプロセス定義は非アクティブです。

    データタイプ:ブーリアン

    <Object>.canceledPlaybookContext.can_read

    現在のユーザーがプレイブック実行レコードを読み取ることができるかどうかを示すフラグ。プレイブック実行レコードを読み取るには、現在のユーザーが親レコードへの読み取りアクセス権を持っている必要があります。

    有効な値:
    • true:現在のユーザーには、プレイブック実行レコードへの読み取りアクセス権があります。
    • false:現在のユーザーにはプレイブック実行レコードへの読み取りアクセス権がありません。

    データタイプ:ブーリアン

    <Object>.canceledPlaybookContext.can_restart ユーザーがプレイブック、ステージ、またはアクティビティを再起動できるかどうかを示すフラグ。
    • true:現在のユーザーはプレイブック、ステージ、またはアクティビティを再起動できます。
    • false:現在のユーザーはプレイブック、ステージ、またはアクティビティを再起動できません。

    データタイプ:ブーリアン

    <Object>.canceledPlaybookContext.canceled_by プレイブックの実行をキャンセルしたユーザーの ユーザー ID

    データタイプ:文字列

    <Object>.canceledPlaybookContext.cancellation_reason プレイブックの実行をキャンセルしたユーザーによって入力されたキャンセル理由。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.errors キャンセルエラーのリスト。各エラーはアレイ内のオブジェクトです。

    データタイプ:アレイ

    "errors": [
        {      
          "message": "String",
          "type": "String"  
        }
    ]
    <Object>.canceledPlaybookContext.errors.message エラーメッセージ。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.errors.type エラーのタイプ。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.is_archived プレイブックコンテキストレコードをアーカイブするかどうかを示すフラグ。true に設定します。この値は変更できません。
    可能な値:
    • true:プレイブックコンテキストレコードがアーカイブされます。
    • false:プレイブックコンテキストレコードはアーカイブされません。

    データタイプ:ブーリアン

    <Object>.canceledPlaybookContext.parent_record プレイブックの実行がキャンセルされた親レコードのSys_id。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.parent_table 親レコードの取得元テーブルの名前。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.playbook_id プロセス定義 [sys_pd_process_definition] テーブルからのプレイブックのSys_id。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.playbook_table プレイブックの取得元テーブルの名前。一般的にはプロセス定義 [sys_pd_process_definition] テーブルです。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.scoped_name プロセス定義 [sys_pd_process_definition] テーブルからのプレイブックのスコープ対象の名前。形式 は scope.name です。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.snapshot_id [sys_pd_snapshot] テーブルからの プレイブック実行のスナップショット のSys_id。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.state プロセス実行 [sys_pd_context] テーブルからのプレイブック実行のステータス。

    データタイプ: オブジェクト

    "state": {    
       "displayValue": "String",    
       "value": "String"
    }
    <Object>.canceledPlaybookContext.state.displayValue プレイブック実行ステータスの表示値。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.state.value プレイブック実行ステータスの値。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.sys_id プロセス実行 [sys_pd_context] テーブルからのプレイブック実行のSys_id。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.title プロセス実行 [sys_pd_context] テーブルからのプレイブック実行のラベル。

    データタイプ:文字列

    <Object>.skippedPlaybookContext スキップされたプレイブック実行のリスト。プレイブックの各実行は、アレイ内の 1 つのオブジェクトです。オブジェクトプロパティの説明については、 canceledPlaybookContext アレイを参照してください。

    データタイプ:アレイ

    "skippedPlaybookContext": [
        {
          "can_read": Boolean,
          "canceled_by": "String",
          "cancellation_reason": "String",
          "errors": [Array],
          "parent_record": "String",
          "parent_table": "String",
          "playbook_id": "String",
          "playbook_table": "String",
          "scoped_name": "String",
          "state": {Object},
          "sys_id": "String",
          "title": "String"   
        }
    ]
    <Object>.canceledPlaybookContext.variant_id プロセス実行 [sys_pd_context] テーブルからのプレイブックバリアント実行のSys_id。

    この例では、指定されたインタラクションレコードの特定の Playbook (ここでは Playbook Experience デモ) のすべての実行をキャンセルする方法を示します。このメソッドを UI アクションまたはビジネスルールで使用するには、代わりに 現在の オブジェクトを parentRecord として渡します。

    var parentRecord = new GlideRecordUtil().getGR("interaction", "d91742531b343010a26c98a1b24bcbe0");
    
    var cancellationReason = "Cancelling this playbook";
    
    // demo playbook from Process Automation Experience Demo store app
    var scopedName = "sn_pad_demo.playbook_experience_demo"; 
    
    // demo playbook experience from Process Automation Experience Demo store app
    var playbookExperienceId = "a56d8d93ff311010cc0853ea793bf1a6"; 
    	
    var cancelPlaybookReturn = sn_playbook.PlaybookExperience.cancelPlaybooksByParentRecord(parentRecord, cancellationReason, scopedName, playbookExperienceId);
    	
    
    gs.info(JSON.stringify(cancelPlaybookReturn, null, 2));

    出力:

    {
      "canceledPlaybookContext": [
        {
          "can_read": true,
          "sys_id": "d02782533d343010ac50ee17e75d3466",
          "scoped_name": "sn_pad_demo.playbook_experience_demo",
          "canceled_by": "admin",
          "playbook_table": "sys_pd_process_definition",
          "state": {
            "displayValue": "Pending Cancel",
            "value": "PENDING_CANCEL"
          },
          "title": "Playbook Experience Demo",
          "parent_record": "d91742531b343010a26c98a1b24bcbe0",
          "playbook_id": "0d35ee1807301010cc08d9630ad3002a",
          "cancellation_reason": "Cancelling this playbook",
          "parent_table": "interaction",
          "errors": []
        }
      ],
      "skippedPlaybookContext": []
    }

    PlaybookExperience:getPlaybooksForParentRecord(GlideRecord parentRecord)

    指定された親レコードのプレイブック実行のリストを取得します。

    表 : 5. パラメーター
    名前 タイプ 説明
    parentRecord GlideRecord プレイブック実行を取得する親レコード。親レコードには、インタラクションレコードやオンボーディングケースレコードなど、プレイブックを実行できる任意のレコードを指定できます。
    表 : 6. 返される内容
    タイプ 説明
    アレイ 親レコードのプレイブック実行のリスト。プレイブックの各実行は、アレイ内の 1 つのオブジェクトです。
    [
        {
          "can_read": Boolean,
          "canceled_by": "String",
          "cancellation_reason": "String",
          "errors": [Array],
          "parent_record": "String",
          "parent_table": "String",
          "playbook_id": "String",
          "playbook_table": "String",
          "scoped_name": "String",
          "state": {Object},
          "sys_id": "String",
          "title": "String"   
        }
    ]
    <アレイ>.can_read

    現在のユーザーがプレイブック実行レコードを読み取ることができるかどうかを示すフラグ。プレイブック実行レコードを読み取るには、現在のユーザーが親レコードへの読み取りアクセス権を持っている必要があります。

    有効な値:
    • true:現在のユーザーには、プレイブック実行レコードへの読み取りアクセス権があります。
    • false:現在のユーザーにはプレイブック実行レコードへの読み取りアクセス権がありません。

    データタイプ:ブーリアン

    <アレイ>.canceled_by プレイブックの実行をキャンセルしたユーザーの ユーザー ID 。プレイブックがキャンセルされない場合は空です。

    データタイプ:文字列

    <アレイ>.cancellation_reason プレイブックの実行をキャンセルしたユーザーによって入力されたキャンセル理由。プレイブックがキャンセルされない場合は空です。

    データタイプ:文字列

    <Array>.errors エラーのリスト。各エラーはアレイ内のオブジェクトです。

    データタイプ:アレイ

    "errors": [
        {      
          "message": "String",
          "type": "String"  
        }
    ]
    <Array>.errors.message エラーメッセージ。

    データタイプ:文字列

    <Array>.errors.type エラーのタイプ。

    データタイプ:文字列

    <アレイ>.parent_record 親レコードのSys_id。

    データタイプ:文字列

    <アレイ>.parent_table 親レコードの取得元テーブルの名前。

    データタイプ:文字列

    <アレイ>.playbook_id プロセス定義 [sys_pd_process_definition] テーブルからのプレイブックのSys_id。

    データタイプ:文字列

    <アレイ>.playbook_table プレイブックの取得元テーブルの名前。一般的にはプロセス定義 [sys_pd_process_definition] テーブルです。

    データタイプ:文字列

    <アレイ>.scoped_name プロセス定義 [sys_pd_process_definition] テーブルからのプレイブックのスコープ対象の名前。形式 は scope.name です。

    データタイプ:文字列

    <Array>.state プロセス実行 [sys_pd_context] テーブルからのプレイブック実行のステータス。

    データタイプ: オブジェクト

    "state": {    
       "displayValue": "String",    
       "value": "String"
    }
    <Array>.state.displayValue プレイブック実行ステータスの表示値。

    データタイプ:文字列

    <Array>.state.value プレイブック実行ステータスの値。

    データタイプ:文字列

    <アレイ>.sys_id プロセス実行 [sys_pd_context] テーブルからのプレイブック実行のSys_id。

    データタイプ:文字列

    <Array>.title プロセス実行 [sys_pd_context] テーブルからのプレイブック実行のラベル。

    データタイプ:文字列

    この例では、指定されたインタラクションレコードのプレイブック実行を取得する方法を示します。このメソッドを UI アクションまたはビジネスルールで使用するには、代わりに 現在の オブジェクトを parentRecord として渡します。

    var parentRecord = new GlideRecordUtil().getGR("interaction", "148776e5818d7410f87701eb89fdc824");
    var playbook = sn_playbook.PlaybookExperience.getPlaybooksForParentRecord(parentRecord);
    gs.info(JSON.stringify(playbook, null, 2));
    

    出力:

    [
      {
        "can_read": true,
        "sys_id": "bd87bae50b8d7410807a8ffed6d0909e",
        "scoped_name": "sn_pad_demo.playbook_experience_demo",
        "canceled_by": "",
        "playbook_table": "sys_pd_process_definition",
        "state": {
          "displayValue": "In Progress",
          "value": "IN_PROGRESS"
        },
        "title": "Playbook Experience Demo",
        "parent_record": "148776e5818d7410f87701eb89fdc824",
        "playbook_id": "0d35ee1807301010cc08d9630ad3002a",
        "cancellation_reason": "",
        "parent_table": "interaction",
        "errors": []
      }
    ]
    

    PlaybookExperience - parentRecordContainsPlaybook(GlideRecord parentRecord, 文字列 scopedName)

    親レコードにプレイブック実行があるかどうかを確認します。

    表 : 7. パラメーター
    名前 タイプ 説明
    parentRecord GlideRecord プレイブックの実行を確認する親レコード。親レコードには、インタラクションレコードやオンボーディングケースレコードなど、プレイブックを実行できる任意のレコードを指定できます。
    scopedName 文字列 オプション。確認するプレイブックのスコープ対象の名前。スコープ対象の名前は、プロセス定義 [sys_pd_process_definition] テーブルからの形式 scope.name です。指定した場合、このプレイブックの実行のみがチェックされます。指定しない場合、すべてのプレイブックの実行がチェックされます。
    表 : 8. 返される内容
    タイプ 説明
    ブーリアン

    親レコードにプレイブック実行があるかどうかを示すフラグ。

    有効な値:
    • true:親レコードにプレイブック実行があります。
    • false:親レコードにプレイブック実行がありません。

    この例では、特定のインタラクションレコードに特定のプレイブック (この場合はプレイブックエクスペリエンスデモ) の実行があるかどうかを確認する方法を示します。このメソッドを UI アクションまたはビジネスルールで使用するには、代わりに 現在の オブジェクトを parentRecord として渡します。

    var parentRecord = new GlideRecordUtil().getGR("interaction", "148776e5818d7410f87701eb89fdc824");
    
    // demo playbook from Process Automation Experience Demo store app
    var scopedName = "sn_pad_demo.playbook_experience_demo"; 
    
    var hasPlaybooks = sn_playbook.PlaybookExperience.parentRecordContainsPlaybook(parentRecord, scopedName);
    gs.info(hasPlaybooks);

    出力:

    true

    PlaybookExperience - restartPlaybook(GlideRecord playbookContext, 文字列 laneContextId, 文字列 activityContextId, 文字列 playbookExperienceId)

    実行を最初から (プレイブック全体)、またはプレイブックの特定のステージまたはアクティビティから再開します。

    注:
    再起動できるのは、[処理中]、[キューに格納]、または [キャンセルを保留中] ステータスのプレイブックのみです。
    表 : 9. パラメーター
    名前 タイプ 説明
    プレイブックコンテキスト GlideRecord 再起動するプレイブックの実行または実行のプレイブックコンテキストレコード。

    テーブル:プロセス実行 [sys_pd_context]

    laneContextId 文字列 オプション。再開するステージの実行または実行のステージコンテキストレコードのsys_id。

    laneContextIdactivityContextId は相互に排他的です。一度に指定できる値はこれらの値のうち 1 つのみで、もう 1 つは空文字列または null のいずれかである必要があります。

    注:
    完了したステージのみ再起動できます。

    テーブル:レーン実行 [sys_pd_lane_context]

    activityContextId 文字列 オプション。再開するアクティビティの実行のアクティビティコンテキストレコードのsys_id。

    laneContextIdactivityContextId は相互に排他的です。一度に指定できる値はこれらの値のうち 1 つのみで、もう 1 つは空文字列または null のいずれかである必要があります。

    注:
    完了したアクティビティのみを再開できます。

    テーブル:アクティビティの実行 [sys_pd_activity_context]

    playbookExperienceId 文字列 オプション。再起動した実行に使用するプレイブックエクスペリエンスのsys_id。カスタムアクティビティ状況マッピングを定義している場合は、このパラメーターを使用します。「Playbook activity state mapping」を参照してください。

    デフォルト:グローバルプレイブックエクスペリエンス

    テーブル:プレイブックエクスペリエンス [sys_playbook_experience]

    表 : 10. 返される内容
    プロパティ 説明
    オブジェクト 再起動されたプレイブック実行の詳細を含むオブジェクト。
    {
     "can_add_activity": Boolean,
     "can_cancel": Boolean,
     "can_read": Boolean
     "can_restart": Boolean,
     "canceled_by": "String",
     "cancellation_reason": "String",
     "errors": [Array]
     "is_archived": Boolean
     "parent_record": "String",
     "parent_table": "String",
     "playbook_id": "String",
     "playbook_table": "String",
     "scoped_name": "String",
     "state": {Object},
     "sys_id": "String",
     "title": "String",
    }
    can_add_activity ユーザーがプレイブックにオプションのアクティビティを追加できるかどうかを示すフラグ。
    有効な値:
    • true:現在のユーザーは、プレイブックにオプションのアクティビティを追加できます。
    • false:現在のユーザーはプレイブックにオプションのアクティビティを追加できません。

    データタイプ:ブーリアン

    can_cancel ユーザーがプレイブックをキャンセルできるかどうかを示すフラグ。
    • true:非アクティブ化されたプレイブックのプロセス定義がアクティブです。
    • false:非アクティブ化されたプレイブックのプロセス定義は非アクティブです。

    データタイプ:ブーリアン

    can_read 現在のユーザーがプレイブック実行レコードを読み取ることができるかどうかを示すフラグ。プレイブック実行レコードを読み取るには、現在のユーザーが親レコードへの読み取りアクセス権を持っている必要があります。
    • true:現在のユーザーには、プレイブック実行レコードへの読み取りアクセス権があります。
    • false:現在のユーザーにはプレイブック実行レコードへの読み取りアクセス権がありません。

    データタイプ:ブーリアン

    can_restart ユーザーがプレイブック、ステージ、またはアクティビティを再起動できるかどうかを示すフラグ。
    • true:現在のユーザーはプレイブック、ステージ、またはアクティビティを再起動できます。
    • false:現在のユーザーはプレイブック、ステージ、またはアクティビティを再起動できません。

    データタイプ:ブーリアン

    canceled_by プレイブックの実行をキャンセルしたユーザーのユーザー ID

    データタイプ:文字列

    cancellation_reason プレイブックの実行をキャンセルしたユーザーによって入力されたキャンセル理由。

    データタイプ:文字列

    エラー 再起動エラーのリスト。各エラーはアレイ内のオブジェクトです。

    データタイプ:アレイ

    "errors": [
     {      
      "message": "String",
      "type": "String"  
     }
    ]
    is_archived プレイブックコンテキストレコードをアーカイブするかどうかを示すフラグ。
    可能な値:
    • true:プレイブックコンテキストレコードがアーカイブされます。
    • false:プレイブックコンテキストレコードはアーカイブされません。

    データタイプ:ブーリアン

    parent_record プレイブック実行が再開された親レコードのSys_id。

    データタイプ:文字列

    parent_table 親レコードの取得元テーブルの名前。

    データタイプ:文字列

    playbook_id プレイブックのSys_id。

    データタイプ:文字列

    テーブル:プロセス定義 [sys_pd_process_definition]

    playbook_table プレイブックの取得元テーブルの名前 (一般的にはプロセス定義 [sys_pd_process_definition] テーブル)。

    データタイプ:文字列

    scoped_name オプション。再起動するプレイブックのスコープ対象の名前。スコープ対象の名前は、プロセス定義 [sys_pd_process_definition] テーブルからの形式 scope.name です。指定した場合、指定された親レコードに対してこのプレイブックの実行のみが再開されます。指定しない場合、指定された親レコードのすべてのプレイブックの実行が再開されます。

    データタイプ:文字列

    状況 アクティブ化の要求が成功したかどうかを示します。

    データタイプ: オブジェクト

    可能な値:
    • 成功:プレイブックが正常にアクティブ化されました。
    • エラー:プレイブックの ID が見つかりませんでした。
    "state": [
        {      
          "displayValue": "String",
          "value": "String"  
        }
    ]
    state.displayValue プレイブック実行ステータスの表示値。

    データタイプ:文字列

    state.value プレイブック実行ステータスの値。

    データタイプ:文字列

    sys_id プレイブック実行のSys_id。

    データタイプ:文字列

    テーブル:プロセス実行 [sys_pd_context]

    title プレイブック実行のラベル。

    データタイプ:文字列

    テーブル:プロセス実行 [sys_pd_context]

    この例では、プロセス実行 [sys_pd_context] レコード ID 98e4fe04591b4caca59583f7b8e30b0a を使用してプレイブックの実行全体を再開する方法を示します。

    var gr = new GlideRecord('sys_pd_context');
    var found = gr.get('98e4fe04591b4caca59583f7b8e30b0a'); 
    if (found) {
        var result = sn_playbook.PlaybookExperience.restartPlaybook(gr);
        gs.info(JSON.stringify(result));
    }
    else
        gs.info('invalid pd context');

    出力:

    {
     "scoped_name": "global.restart_scriptable_demo",
     "canceled_by": "",
     "can_add_activity": true,
     "playbook_table": "sys_pd_process_definition",
     "can_restart": true,
     "can_cancel": true,
     "title": "Restart scriptable demo",
     "cancellation_reason": "",
     "parent_table": "interaction",
     "can_read": true,
     "sys_id": "98e4fe04591b4caca59583f7b8e30b0a",
     "is_archived": false,
     "state": {
       "displayValue": "In Progress",
       "value": "IN_PROGRESS"
     },
     "parent_record": "b88623beb5e10210f877d783f6f83a46",
     "playbook_id": "12d5a7fab5e10210f877d783f6f83aff",
     "errors": []
    }

    PlaybookExperience - triggerPlaybook(文字列 scopedName, GlideRecord parentRecord)

    親レコードのプレイブックを開始します。

    表 : 11. パラメーター
    名前 タイプ 説明
    scopedName 文字列 開始するプレイブックのスコープ対象の名前。スコープ対象の名前は、プロセス定義 [sys_pd_process_definition] テーブルからの形式 scope.name です。
    parentRecord GlideRecord プレイブックを開始する親レコード。親レコードには、インタラクションレコードやオンボーディングケースレコードなど、プレイブックを実行できる任意のレコードを指定できます。
    表 : 12. 返される内容
    タイプ 説明
    文字列 親レコード用に作成されたプロセス実行 [sys_pd_context] テーブルからのプレイブック実行のSys_id。プレイブックの実行が正常に作成されなかった場合は null。

    この例では、指定されたインタラクションレコードのプレイブックを開始する方法を示します。このメソッドを UI アクションまたはビジネスルールで使用するには、代わりに 現在の オブジェクトを parentRecord として渡します。

    var parentRecord = new GlideRecordUtil().getGR("interaction", "148776e5818d7410f87701eb89fdc824");
    
    // demo playbook from Process Automation Experience Demo store app
    var scopedName = "sn_pad_demo.playbook_experience_demo"; 
    
    var playbookExecution = sn_playbook.PlaybookExperience.triggerPlaybook(scopedName, parentRecord);
    gs.info(playbookExecution);
    

    出力:

    f059958267cdb410952864f0fed358cc