Playbook を手動でトリガーする

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む4読むのに数分
  • サーバースクリプトを使用して Playbook を手動でトリガーします。

    Playbook 機能をトリガー

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

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

    ヘルパー関数

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

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

    [Playbook を追加] UI アクションの作成

    ワークスペースで [Playbook を追加] UI アクションを作成します。

    始める前に

    必要なロール:workspace_admin

    手順

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

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