プレイブックを手動でトリガーする

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:4分
  • サーバースクリプトを使用して、プレイブックを手動でトリガーします。

    プレイブック機能をトリガー

    次のコードでサーバースクリプト関数を使用して、プレイブックを手動でトリガーします。
    sn_playbook.PlaybookExperience.triggerPlaybook('<scoped name>',parentRecord);
    <scoped name> を Playbook のスコープ付き名に置き換えます。スコープ対象の名前を見つけるには、 sys_pd_process_definition テーブルでプロセス定義を検索し、名前とアプリケーションスコープのフィールドをコピーします。parentRecord を、プロセスを実行する入力/親レコードに置き換えます。

    サーバースクリプトは失敗時に例外をスローします。成功した場合は情報メッセージを追加し、失敗した場合はエラーメッセージを追加できます。

    ヘルパー関数

    次のスクリプト可能な関数を使用して、プレイブックをトリガーする UI アクションまたは宣言アクションを表示する前に、プレイブックがレコードで既に実行されているかどうかを判断します。
    sn_playbook.PlaybookExperience.parentRecordContainsPlaybook(parentRecord, '<scoped name>')
    特定の親レコードで実行されているすべてのプレイブックを表示するには、次のコードを使用します。
    sn_playbook.PlaybookExperience.getPlaybooksForParentRecord(parentRecord)
    この情報を使用して、UI アクションなどのプレイブックアクションのトリガーをいつ表示するかを制御できます。

    次のセクションでは、プレイブックのトリガー機能を使用して [プレイブックを追加] ボタンを作成する方法の例を示します。

    [プレイブックを追加] UI アクションを作成する

    ワークスペースで [プレイブックを追加] UI アクションを作成します。

    始める前に

    必要なロール:workspace_admin

    手順

    1. 移動先 すべて > システム定義 > UI アクション.
    2. [新規] をクリックします。
    3. フォームのフィールドに入力します。
      注:
      次の表に記載されていないフィールドがフォームに表示されますが、ワークスペースでは機能しません。UI アクションフォームの各フィールドの詳細については、「 従来のワークスペースでのカスタム UI アクションの設定」を参照してください。
      表 : 1. UI アクションフォーム
      Field (フィールド) 説明
      名前 UI アクション名。これは、ワークスペース UI ([ オンボーディングプレイブックを追加 (Add Onboarding Playbook)] など) に表示されます。
      テーブル UI アクションが適用されるテーブル。エージェントがこのテーブルのレコードを表示するたびに、この UI アクションが表示されます。
      順番 水平リストでの UI アクションの配置。順番の数値は左から右に、小さいものから大きいものになります。
      アクション名 ログやテーブルの列に表示される 名前 と同等の名前 ( 例:interaction_add_onboarding
      アクティブ 切り替えて、UI アクションを表示します。
      レコード更新時に表示 切り替えて [テーブル (Table)] に更新を表示します。
      条件 UI アクションを表示するために満たす必要がある条件 (current.canWrite() && !sn_playbook など)。PlaybookExperience.parentRecordContainsPlaybook(current, 'sn_pad_demo.playbook_onboarding_demo').
      スクリプト UI アクションを実装するサーバー側スクリプト。
      アプリケーション このコンポーネントが適用されるアプリケーション。[グローバル (Global)] とは、コンポーネントがすべてのアプリケーションに適用されることを意味します。
    4. プレイブックの追加アクションを実装するサーバー側スクリプトを作成するには、[ スクリプト] フィールドにスクリプトを入力します。
      try{
      	current.update();
      	sn_playbook.PlaybookExperience.triggerPlaybook('sn_pad_demo.playbook_onboarding_demo',current);
      	gs.addInfoMessage(gs.getMessage("Onboarding Playbook added to Interaction."));
      } catch(e){
      		gs.addErrorMessage(e.getMessage());
      }

      システムは、このフィールドに含まれるクライアントスクリプトをすべて無視します。クライアントスクリプトには、ワークスペースクライアントスクリプトフィールドのみを使用できます。sn_pad_demo.playbook_onboarding_demo をプレイブックのスコープ付きの名前に置き換えます。スコープ対象の名前を見つけるには、 sys_pd_process_definition テーブルでプロセス定義を検索し、名前とアプリケーションスコープのフィールドをコピーします。

    5. [ ワークスペース ] タブで、[ ワークスペースフォームボタン ] を選択して UI アクションの行に [プレイブックを追加] ボタンを表示するか、[ ワークスペースフォームメニュー ] を選択してメニューリストにリストとして表示します。
    6. [ワークスペースクライアントスクリプト] フィールドで、ワークスペース固有のクライアントスクリプトを作成します。
      ワークスペースには、サービスポータル と同様のクライアントスクリプトの制限があります。たとえば、クリックしてフォームを開くには、次のクライアントスクリプトを追加します。
      function onClick(g_form) {
      
      }