6.15 BusinessLogicTrigger

以下にBusinessLogicTrigger定義と定義例を示します。ビジネスロジックトリガーの詳細については「ビジネスロジックトリガー」を参照してください。

(表)BusinessLogicTrigger定義

キー デフォルト値 必須※ 説明
apiVersion: Yes APIバージョン
1.0を指定する。
kind: Yes businessLogicTriggerを指定する。
type: No resourceを指定する。
Ops Iの運用機能に追加する新しい定義であることを示す。
name: Yes BusinessLogicTrigger定義の内部名
nameは以下のルールに従う必要がある。
  • 本マニフェストファイルのディレクトリ名を指定
  • 入力可能な文字は以下の通り
    • 半角英数字:
      a~z A~Z 0~9
    • 半角の特殊文字:
      _ . ( ) -
  • 先頭文字が半角英数字かアンダーバー(_)
  • その他の注意点は「マニフェストファイル作成時の注意」2~4を参照
label: Yes マニフェストファイルに記載する運用機能の表示名
description: No このマニフェストファイルに対する詳細説明
includes: Yes このマニフェストファイルで利用する関連マニフェストファイルを記載
メモメモ
  • 記載するマニフェストファイルはこのマニフェストファイル登録前にOps Iに登録されている必要があります。
  • includesキーを指定することにより、他のマニフェストファイルで定義した内容を取り込むことができます。実行するスクリプトを定義したScriptのマニフェストファイルを指定します。
- kind: Yes 読み込むマニフェストファイルの種類
  name: Yes 読み込むマニフェストファイルの内部名
enabled: Yes このビジネスロジックトリガーが有効かどうかを設定する。
無効にした場合、このビジネスロジックトリガーは動作しない。
  • 有効:true
  • 無効:false
triggerType: Yes asyncを指定する。
condition: Yes トリガーの設定を指定する。
operationTypes: Yes 対象の操作を指定する。
- (operation type): Yes create、update、deleteから指定する。
resourceType: Yes トリガーの対象のリソースを指定する。
以下を指定できる。
  • ticket:チケット
  • ticket-work-note:チケットの作業メモ
  • ticket-related-link:チケットの関連リンク
  • knowledge-article:ナレッジ記事
script: Yes スクリプトの動作設定
action: Yes 実行するアクション名を指定する。
Scriptのマニフェストファイルに同じ名前のactionの定義が必要。
メモメモ
Scriptのマニフェストファイルに指定するJavaScriptの詳細は「サーバーサイドスクリプト」、「ビジネスロジックトリガーのスクリプト」を参照してください。
logLevel: INFO No ログレベルを指定する。
ERROR、WARN、INFO、DEBUGから指定する。指定されたログレベル以上のログが出力される。

ログレベル(高い順):ERROR>WARN>INFO>DEBUG
timeout: 300 No タイムアウト(秒)を指定する。
※入れ子関係にないキーの必須が「No」の場合は、定義が必須ではありません。入れ子関係にあるキーの場合は、下層キーの必須は、上層キーを設定している場合に適用されます。

<定義例>

apiVersion: 1.0
kind: businessLogicTrigger
type: resource
name: ticket_update_trigger
label: ticket_update_trigger
description: "Register a trigger that is invoked when a ticket is created or updated"
includes:
  - kind: script
    name: sync_ticket_script
enabled: true
triggerType: async
condition:
  operationTypes:
    - create
    - update
  resourceType: ticket
script:
  action: sync_ticket
  logLevel: DEBUG
  timeout: 300