UI アクションの作成

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む6読むのに数分
  • 新しい UI アクションを作成することも、既存の UI アクションを編集することもできます。

    始める前に

    必要なロール:ui_action_admin または admin

    このタスクについて

    UI アクションと同じスコープ内にあるテーブルとデータベースビューに UI アクションを追加することも、別のアプリケーションスコープの UI アクションを実行できるテーブルに UI アクションを追加することもできます。

    手順

    1. 移動先 すべて > システム定義 > UI アクション.
    2. [新規] をクリックするか既存のレコードを開きます。
    3. フィールドに入力して UI アクションを定義します。
      すべてのフィールドを表示するようにフォームを構成する必要があります。
      表 : 1. UI アクションフィールド
      フィールド 説明
      名前 ボタン、リンク、またはコンテキストメニューアイテムに表示されるテキストを定義します。
      テーブル UI アクションが利用可能なテーブルを定義します。デフォルトでは、選択したテーブルを拡張するテーブルにも UI アクションが表示されます (たとえば、タスクアクションはインシデントテーブルに表示されます)。

      [グローバル] を選択すると、アクションがすべてのテーブルで使用できるようになります。

      順番 UI アクションが表示される順番を定義します。ボタンには左から右へ、メニューアクションには上から下への順番が適用されます。
      アクション名 スクリプトで UI アクションを参照するときに使用する名前を定義します。
      有効 選択すると UI アクションが有効になります。UI アクションを無効にするには、このチェック ボックスをオフにします。
      レコード作成時に表示 挿入されていない新しいレコードにボタンを表示します。
      レコード更新時に表示 既存のレコードにボタンを表示します。
      クライアント UI アクションは、サーバーではなく、ユーザーのブラウザーでスクリプトを実行します。有効にすると、[条件] フィールドの上に [クリック時] フィールドが表示されます。
      フォームボタン フォームにボタンを配置します。
      フォームのコンテキストメニュー アイテムをフォームコンテキストメニューに配置します (フォームヘッダーを右クリックします)。
      フォームリンク フォームの [関連リンク] セクションにリンクを配置します。
      バナーリストボタン リストのバナーにボタンを配置します。
      注:
      リストバナーボタンはレコード固有の条件をサポートすることを意図していないため、リストにボタンを表示するかどうかを決定するために条件が評価されるときに最初の行のみが考慮されます。リストバナーボタンの UI アクションでは、レコード固有の条件 (current.getValue('state') === 'closed' など) を使用しないでください。
      リスト下部ボタン リストの下部にボタンを配置します。
      注:
      リスト下部のボタンは、条件に関係なく表示され、実行時にレコードごとに評価されます。
      リストコンテキストメニュー リストフィールドのコンテキストメニューにアイテムを配置します (リスト内のセルを右クリックします)。
      リスト選択肢 リストの下部にあるアクション選択リストにアイテムを配置します。
      注:
      リスト下部のボタンは、リスト選択アクションと同様、条件に関係なく表示され、実行時にレコードごとに評価されます。
      リストリンク フォームの下部にある [関連リンク] セクションにリンクを配置します。
      上書き この UI アクションが上書きする UI アクションを指定します。
      コメント この UI アクションを説明するコンテンツを提供します。
      ヒント この UI アクションコントロールをポイントしたときに表示されるテキストを定義します。
      クリック時 UI アクションを実行したときに実行される JavaScript 関数の名前。関数は [スクリプト] フィールドで定義されます。
      条件 UI アクションがいつ表示されるかを制限する条件を定義します。例については、「条件ビルダーを使用して、エージェントワークスペース の UI アクションをカスタマイズする」を参照してください。
      スクリプト UI アクションが実行されるときに実行するスクリプトを定義します。
      フォーム ビューの関連リスト:
      UI アクション可視性 UI アクションが適用されるフォームの他のビューを指定します。このオプションを使用して、UI アクションを指定したフォームビューに制限します。
      バージョン UI アクションのすべてのバージョンを表示します。バージョンを比較したり以前のバージョンに戻したりするには、このリストを使用します。
    4. [送信] または [更新] をクリックします。
      注:
      UI アクションがクライアント側で実行できるようになっている場合は、関数でラップします。それ以外の場合は、ページがロードされたときに、[スクリプト] フィールドのコンテンツが実行されます。

    UI アクションスクリプトの一部として、ユーザーを URL にリダイレクトできます。たとえば、UI アクションからフォームを作成した後に、フォームにリンクを追加したり、新しいレコードを開いたりすることができます。ユーザーを UI アクションから URL にリダイレクトするには、[スクリプト] フィールドで次の構文を使用してリダイレクトリンクを定義します。
    action.setRedirectURL ( 'http://www.mysite.com/mypage.htm' );
    ユーザーをレコードに誘導するには、次の構文を使用します。ここで、new_recordGlideRecord の変数名です。
    action.setRedirectURL (new_record );

    条件ビルダーを使用して、エージェントワークスペース の UI アクションをカスタマイズする

    UI アクションフォームに条件を追加して、UI アクションを構成します。

    UI アクション条件ビルダーの使用

    [インシデントのクローズ] ボタンに次の条件が構成されています。

    条件ステートメント

    このアクションをフォームに表示するには、これらの条件が true と評価される必要があります。
    • current.incident_state は 6 と等しい必要がある:インシデントはすでに [解決済み] 状態である必要があります。
    • gs.hasRole("itil_admin"):現在のユーザーに、itil_admin ロールが必要です。

    または、この条件が true と評価される必要があります。

    gs.getUserID() == current.caller_id:現在のユーザーは、変更を要求したユーザーです。
    注:
    • 現在のオブジェクトは、リストコンテキストメニューの条件に使用できません。[リストコンテキストメニュー] オプションが選択されています。これらのアクションで current を使用しても無視されます。
    • 関連リストボタンの UI アクション条件の親レコードを参照できます。たとえば、クローズした変更の [影響を受ける CI] 関連リストで [新規] ボタンと [編集] ボタンを無効にするには、グローバル m2m UI アクションを task_ci テーブルにコピーして、parent.active の条件を追加します。
    • 条件ステートメントで指定したフィールドのいずれかを空のままにすると、その条件はデフォルトで true になります。

    フォームビューに基づく UI アクションの制限

    指定されたフォームビューにのみ表示されるように UI アクションを制限できます。

    UI アクションフォームの UI アクション可視性関連リストを使用して、ビューごとに UI アクションを制限します。指定されたビューでは、次のルールに従って UI アクションを使用できます。
    1. 可視性ルールがない場合、アクションはすべてのビューに表示されます。
    2. 特定のビューに除外ルールがある場合、そのビューにはアクションが表示されません。
    3. 少なくとも 1 つのインクルードルールがある場合、アクションは明確にインクルードされるビューにのみ表示されます。
    例:コスト管理ビュー以外のすべての場所にアクションを表示する
    コスト管理ビューの除外ルールを追加します。
    図 : 1. 除外 UI アクションビューの例
    除外 UI アクションビューの例
    例:ルーチンビューと ITIL ビューにアクションを表示するが、それ以外の場所には表示しない
    ルーチンビューと ITIL ビューのインクルードルールを追加します。
    図 : 2. インクルード UI アクションビューの例
    インクルード UI アクションビューの例