PlaybookExperience - スコープ指定

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む19読むのに数分
  • PlaybookExperience API は、Playbook の実行を処理するためのメソッドを提供します。

    この API には Playbook Experience Core プラグイン (com.glide.playbook_experience.config) が必要です。この API は sn_playbook 名前空間内で提供されます。

    この API では、プロセス定義 [sys_pd_process_definition] テーブルに 1 つ以上の Playbook が必要です。この API を使用するには、Process Automation Designer で実行中のプロセスを表示およびキャンセルするために必要なロールを持っている必要があります。詳細については、「 Process Automation Designer」を参照してください。

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

    指定された親レコードに対する Playbook 実行をキャンセルします。

    表 : 1. パラメーター
    名前 タイプ 説明
    parentRecord GlideRecord Playbook の実行をキャンセルする親レコード。親レコードは、インタラクションレコードやオンボーディングケースレコードなど、Playbook 実行を含むレコードであればどれにでも設定できます。
    cancellationReason 文字列 Playbook の実行をキャンセルする理由。
    scopedName 文字列 オプション。キャンセルする Playbook のスコープ名。スコープ名は、プロセス定義 [sys_pd_process_definition] テーブルから取得した scope.name 形式の名前です。これを指定すると、指定された親レコードに対するこの Playbook の実行のみがキャンセルされます。指定しないと、指定された親レコードに対するすべての Playbook の実行がキャンセルされます。
    playbookExperienceId 文字列 オプション。キャンセルに使用する Playbook Experience [sys_playbook_experience] テーブルの Playbook Experience レコードの sys_id。カスタムのアクティビティステータスマッピングを定義した場合は、このパラメーターを使用します。「Playbook アクティビティステータスのマッピング」を参照してください。

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

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

    データタイプ:アレイ

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

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

    有効な値:
    • true:現在のユーザーは Playbook 実行レコードへの読み取りアクセス権を持っています。
    • false:現在のユーザーは Playbook 実行レコードへの読み取りアクセス権を持っていません。

    データタイプ:ブール

    <Object>.canceledPlaybookContext.canceled_by Playbook の実行をキャンセルしたユーザーのユーザー ID

    データタイプ:文字列

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

    データタイプ:文字列

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

    データタイプ:アレイ

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

    データタイプ:文字列

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

    データタイプ:文字列

    <Object>.canceledPlaybookContext.parent_record Playbook の実行がキャンセルされた親レコードの sys_id。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.parent_table 親レコードが含まれているテーブルの名前。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.playbook_id プロセス定義 [sys_pd_process_definition] テーブルからの Playbook の sys_id。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.playbook_table Playbook が含まれているテーブルの名前。通常は、プロセス定義 [sys_pd_process_definition] テーブル。

    データタイプ:文字列

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

    データタイプ:文字列

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

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

    "state": {    
       "displayValue": "String",    
       "value": "String"
    }
    <Object>.canceledPlaybookContext.state.displayValue Playbook 実行ステータスの表示値。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.state.value Playbook 実行ステータスの値。

    データタイプ:文字列

    <Object>.canceledPlaybookContext.sys_id プロセス実行 [sys_pd_context] テーブルからの Playbook 実行の sys_id。

    データタイプ:文字列

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

    データタイプ:文字列

    <Object>.skippedPlaybookContext スキップされた Playbook 実行のリスト。それぞれの Playbook 実行はアレイ内のオブジェクトです。オブジェクトプロパティの説明については、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"   
        }
    ]

    この例では、指定されたインタラクションレコードの特定の 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)

    指定された親レコードに対する Playbook 実行のリストを取得します。

    表 : 3. パラメーター
    名前 タイプ 説明
    parentRecord GlideRecord Playbook の実行を取得する対象の親レコード。親レコードは、インタラクションレコードやオンボーディングケースレコードなど、Playbook 実行を含められるレコードであればどれにでも設定できます。
    表 : 4. 返される内容
    タイプ 説明
    アレイ 親レコードに対する Playbook 実行のリスト。それぞれの Playbook 実行はアレイ内のオブジェクトです。
    [
        {
          "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"   
        }
    ]
    <Array>.can_read

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

    有効な値:
    • true:現在のユーザーは Playbook 実行レコードへの読み取りアクセス権を持っています。
    • false:現在のユーザーは Playbook 実行レコードへの読み取りアクセス権を持っていません。

    データタイプ:ブール

    <Array>.canceled_by Playbook の実行をキャンセルしたユーザーのユーザー ID。Playbook がキャンセルされていない場合は空です。

    データタイプ:文字列

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

    データタイプ:文字列

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

    データタイプ:アレイ

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

    データタイプ:文字列

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

    データタイプ:文字列

    <Array>.parent_record 親レコードの sys_id。

    データタイプ:文字列

    <Array>.parent_table 親レコードが含まれているテーブルの名前。

    データタイプ:文字列

    <Array>.playbook_id プロセス定義 [sys_pd_process_definition] テーブルからの Playbook の sys_id。

    データタイプ:文字列

    <Array>.playbook_table Playbook が含まれているテーブルの名前。通常は、プロセス定義 [sys_pd_process_definition] テーブル。

    データタイプ:文字列

    <Array>.scoped_name プロセス定義 [sys_pd_process_definition] テーブルからの Playbook のスコープ対象名。scope.name の形式です。

    データタイプ:文字列

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

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

    "state": {    
       "displayValue": "String",    
       "value": "String"
    }
    <Array>.state.displayValue Playbook 実行ステータスの表示値。

    データタイプ:文字列

    <Array>.state.value Playbook 実行ステータスの値。

    データタイプ:文字列

    <Array>.sys_id プロセス実行 [sys_pd_context] テーブルからの Playbook 実行の sys_id。

    データタイプ:文字列

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

    データタイプ:文字列

    この例は、指定されたインタラクションレコードに対する Playbook 実行を取得する方法を示しています。このメソッドを 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)

    親レコードに Playbook 実行があるかどうかを確認します。

    表 : 5. パラメーター
    名前 タイプ 説明
    parentRecord GlideRecord Playbook 実行を確認する対象の親レコード。親レコードは、インタラクションレコードやオンボーディングケースレコードなど、Playbook 実行を含められるレコードであればどれにでも設定できます。
    scopedName 文字列 オプション。確認する Playbook のスコープ名。スコープ名は、プロセス定義 [sys_pd_process_definition] テーブルから取得した scope.name 形式の名前です。これを指定すると、この Playbook の実行のみが確認されます。これを指定すると、すべての Playbook の実行が確認されます。
    表 : 6. 返される内容
    タイプ 説明
    ブーリアン

    親レコードに Playbook 実行があるかどうかを示すフラグ。

    有効な値:
    • true:親レコードに Playbook 実行がある。
    • false:親レコードに Playbook 実行がない。

    この例では、指定されたインタラクションレコードに特定の Playbook (ここでは Playbook Experience デモ) の実行があるかどうかを確認する方法を示します。このメソッドを 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 - triggerPlaybook(文字列 scopedName, GlideRecord parentRecord)

    親レコードの Playbook を開始します。

    表 : 7. パラメーター
    名前 タイプ 説明
    scopedName 文字列 開始する Playbook のスコープ名。スコープ名は、プロセス定義 [sys_pd_process_definition] テーブルから取得した scope.name 形式の名前です。
    parentRecord GlideRecord 開始する Playbook の親レコード。親レコードは、インタラクションレコードやオンボーディングケースレコードなど、Playbook 実行を含められるレコードであればどれにでも設定できます。
    表 : 8. 返される内容
    タイプ 説明
    文字列 親レコードに対して作成されたプロセス実行 [sys_pd_context] テーブルからの Playbook 実行の sys_id。Playbook 実行が正常に作成されなかった場合は null です。

    この例は、指定されたインタラクションレコードに対して Playbook を開始する方法を示しています。このメソッドを 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