6.10 Notification、Notifier
以下にNotification、Notifier定義と定義例を示します。Notification、Notifierの詳細については「通知の設計」を参照してください。
■ Notificationの定義
■ Notifierの定義
■定義例
Notificationのマニフェストは以下です。
| キー | デフォルト値 | 必須※ | 説明 | ||
|---|---|---|---|---|---|
| apiVersion: | Yes | APIバージョン 1.0を指定する。 |
|||
| kind: | Yes | notificationを指定する。 | |||
| type: | No | resourceを指定する。 Ops Iの運用機能に追加する新しい定義であることを示す。 |
|||
| name: | Yes | Notification定義の内部名 nameは以下のルールに従う必要がある。
|
|||
| label: | Yes | マニフェストファイルに記載する運用機能の表示名 | |||
| includes: | No | このマニフェストファイルで利用する関連マニフェストファイルを記載
メモ
|
|||
| - kind: | Yes | 読み込むマニフェストファイルの種類 | |||
| name: | Yes | 読み込むマニフェストファイルの内部名 | |||
| description: | No | このマニフェストファイルに対する詳細説明 テンプレート機能を利用して記述することができる。 |
|||
| event: | Yes | 通知のイベント条件 | |||
| resource: | イベントのタイプがonDemand以外の場合、必須 | 以下のいずれかを実施したい場合は、必ず指定してください。
|
|||
| type: | Yes | イベントのタイプ どのイベントに対して通知するかを設定する。
onDemandはイベントのリソースがworkflow、またはリソースの設定をしていない場合に、指定できる。記載例は「通知を含めたワークフローの定義例」を参照。 |
|||
| conditions: | No | 通知する条件を記述する。 イベントのタイプがonDemandの場合は指定しない。 |
|||
| - | No | 複数の条件があった場合は、or条件で判定される。 この下のレベルの条件はand条件で判定される。 |
|||
| - resource: | Yes | 条件の判定に使用するオブジェクト・フィールドを指定する。 オブジェクト・フィールドは、「event:.resource:」に指定したリソースから参照できるオブジェクト・フィールドを指定できる。 なお、オブジェクト・フィールドは、判定対象のデータの現在の値を.Context、変更前の値を.PrevContextと表記する。 イベントのタイプ(type)がupdateの場合は、現在の値を.Context、変更前の値を.PrevContextで取得できる。 イベントのタイプ(type)がdeleteの場合は、削除前の値を.PrevContextで取得可能で、.Contextは使用できない。 イベントのタイプ(type)がtimeの場合は、.Contextが使用可能で、.PrevContextは使用できない。 例) "{{ .GetValue ".Context.workflow.name" }}" "{{ .GetValue ".PrevContext.status" }}" Notificationの定義内で使用できるオブジェクト・フィールドの詳細は、「(表)Notificationで使用可能なオブジェクト・フィールド」を参照。 |
|||
| <operator>: | Yes | 条件のオペレータとオペランドを<key>: <value>で指定する。 <key> オペレータを指定する。以下のタイプがある。
オペランドを指定する。 例) "eq: WorkflowNameAAA" |
|||
| notifications: | Yes | 送信する通知オブジェクトのリスト | |||
| - message: | Yes | 送信する通知オブジェクトのメッセージ | |||
| title: | Yes | メッセージのタイトル 通知のイベント条件(event部分)で指定したオブジェクトを起点にしてフィールドを埋め込むこともできる。なお、現在の値(.Context)のみ使用できる。変更前の値(.PrevContext)は使用できない。 使用できる字数は、最大512文字。超える場合は切り捨てられる。 例) "There is an request for {{ .GetValue ".Context.activity" }}." イベントのタイプがonDemandの場合は、Workflowのマニフェストファイルのoi.notifyのparams、またはPlaybookのopsi.oi.notifyのparamsで指定したパラメータを、以下の構文で指定することで値を取得できる。 例) "{{ .OINotify.params.パラメータ }}" |
|||
| body: | Yes | メッセージのボディ 通知のイベント条件(event部分)で指定したオブジェクトを起点にしてフィールドを埋め込むこともできる。 例) "There is an request for {{ .GetValue ".Context.workflow.name" }}." イベントのタイプがonDemandの場合は、Workflowのマニフェストファイルのoi.notifyのparams、またはPlaybookのopsi.oi.notifyのparamsで指定したパラメータを、以下の構文で指定することで値を取得できる。 例) "{{ .OINotify.params.パラメータ }}" |
|||
| referTo: | No | メッセージの参照先 通知のイベント条件(event部分)で指定したオブジェクトを起点にしてフィールドを埋め込むこともできる。 Ops IのURLを記載する場合、通知の宛先に設定しているユーザーが、記載したURLに対するアクセス権を持っていることを事前に確認する。 例) https://{{ .System.domain }}/sys_request/workflow/workflow_list/workflow_detail/{{ .GetValue ".Context.workflow" }} イベントのタイプがonDemandの場合は、Workflowのマニフェストファイルのoi.notifyのparams、またはPlaybookのopsi.oi.notifyのparamsで指定したパラメータを、以下の構文で指定することで値を取得できる。 例) "{{ .OINotify.params.パラメータ }}" "{{ .System.domain }}" |
|||
| severity: | Information | No | Notificationの重大度 以下の値が利用できる。
|
||
| destinations: | Yes | メッセージの宛先のリスト messageオブジェクトの内容を複数の宛先に送付できる。 |
|||
| - type: | Yes | 宛先のタイプ 次から選択できる。
|
|||
| value: | Yes | 宛先の値 通知のイベント条件(event部分)で指定したオブジェクトを起点にしてフィールドを埋め込むこともできる。なお、現在の値(.Context)のみ使用できる。変更前の値(.PrevContext)は使用できない。 例) "{{ .GetValue ".Context.assignedGroup"}}" イベントのタイプがonDemandの場合は、Workflowのマニフェストファイルのoi.notifyのparams、またはPlaybookのopsi.oi.notifyのparamsで指定したパラメータを、以下の構文で指定することで値を取得できる。 例) "{{ .OINotify.params.パラメータ }}" 宛先のタイプがemailの場合、カンマ(,)で連結することで、複数のメールアドレスを指定できる。 |
|||
| enableSystemNotification: | true | No | Ops IのGUIによる通知の制御
メモ宛先のタイプがgroup、emailの場合は、trueの場合でもOps IのGUIによる通知は行いません。 |
||
| notifiers: | No | 宛先への通知手段の指定 Notifierのnameを配列で指定する。 配列の指定例は「<定義例> Notification(作業項目の削除通知)」を参照。 メモ宛先のタイプがuser、groupMemberの場合は、指定の有無にかかわらず、Ops IのGUIによる通知は実行されます。Ops IのGUIによる通知を行わない場合は、enableSystemNotificationでfalseを指定してください。 |
|||
Notificationの定義内で使用可能なオブジェクト・フィールドは以下です。
(表)Notificationで使用可能なオブジェクト・フィールド
| オブジェクト | フィールド | データ型※1 | 出力される値 | 補足 | 値が取得可能な条件 |
|---|---|---|---|---|---|
| workflow | createdOn※3 | Date※4 | ワークフローの作成日時 | - | 常に取得可能 |
| workflow | updatedOn | Date※4 | ワークフローの更新日時 | - | 常に取得可能 ただしワークフロー起動直後は1970/1/1 00:00:00が設定され、ワークフローのステータスが変化したり、ワークフローのタイトルを変更すると更新された値が取得される。 |
| workflow | createdBy※3 | str | ワークフローの作成者のユーザー名 | userオブジェクト※2 ユーザーIDを参照する場合:"{{ .GetValue ".Context.createdBy"}}" ユーザー名を参照する場合:"{{ .GetValue ".Context.createdBy.name"}}" |
常に取得可能 |
| workflow | id※3 | uuid | ワークフローのID | - | 常に取得可能 |
| workflow | name | str | ワークフローの名前 | Workflowのマニフェストの「name」キーの値 | 常に取得可能 |
| workflow | schedule※3 | uuid | ワークフロー直属のスケジュールのID | scheduleオブジェクト※2 | 常に取得可能 |
| workflow | Any task name | uuid | 指定したタスク名のスケジュールのID | scheduleオブジェクト※2 ワークフローに所属する任意のスケジュールを指定できる。 |
常に取得可能 |
| workflow | title | str | ワークフローのタイトル | - | 常に取得可能 |
| workflow | status※3 | str | ワークフローのステータス | - | 常に取得可能 |
| workflow | customer※3 | str | 顧客ID | customerオブジェクト※2 顧客IDを参照する場合:"{{ .GetValue ".Context.customer"}}" 顧客名を参照する場合:"{{ .GetValue ".Context.customer.name"}}" |
オブジェクトが顧客ユーザーが起票したワークフローの場合 |
| workflow | parentContext | uuid | 親のワークフローのID | workflowオブジェクト※2 | サブフローの場合 |
| workflow | rootContext | uuid | ルートのワークフローのID | workflowオブジェクト※2 | 常に取得可能 |
| workflow | label | str | ラベル | Workflowのマニフェストの「label」キーの値 ヒアリングシートで指定した言語で出力される。 |
常に取得可能 |
| workflow | currentSchedule | uuid | 現在実行中(Pending状態を含む)のスケジュールのID | scheduleオブジェクト※2 ワークフローの担当者を参照する場合: "{{workflow.currentSchedule.assignedTo.name}}" ワークフローの担当グループを参照する場合: "{{workflow.currentSchedule.assignedGroup.name}}" |
実行中のスケジュールが存在する場合 |
| workflow | schedules.Any task name | uuid | 指定したタスク名のスケジュールのID | scheduleオブジェクト※2 ワークフローに所属する任意のスケジュールを指定できる。 |
常に取得可能 |
| workflow | description | str | 説明 | - | ユーザーが設定した場合※5 |
| workflow | category | str | 分類 | - | ユーザーが設定した場合※5 |
| workflow | dueDate | Date※4 | 期限 | - | ユーザーが設定した場合※5 |
| workflow | note1 | str | 備考 | - | ユーザーが設定した場合※5 |
| workflow | note2 | str | 備考2 | - | ユーザーが設定した場合※5 |
| workflow | note3 | str | 備考3 | - | ユーザーが設定した場合※5 |
| schedule | id※3 | uuid | スケジュールのID | - | 常に取得可能 |
| schedule | workflow | Date※4 | スケジュールにひもづいているワークフローのID | workflowオブジェクト※2 | オブジェクトがワークフローの起票により生成されたスケジュールの場合 |
| schedule | activity※3 | str | スケジュールにひもづいているアクティビティの名前 | - | 常に取得可能 |
| schedule | parent※3 | uuid | 親スケジュールのID | scheduleオブジェクト※2 | オブジェクトがワークフローのアクティビティに対するスケジュールの場合 |
| schedule | assignedTo※3 | uuid | 割り当て先ユーザーのID | userオブジェクト※2 ワークフローの各ステップの担当者や、予定表にひもづかないスケジュールの担当者に通知する場合はこのフィールドの指定が必要となる。 |
オブジェクトが以下のいずれかの条件を満たすスケジュールの場合
|
| schedule | assignedGroup※3 | uuid | 割り当て先グループのID | groupオブジェクト※2 | オブジェクトが以下のいずれかの条件を満たすスケジュールの場合
|
| schedule | assignedUsers※3 | uuidリスト | 割り当て先のユーザーのIDのリスト | userオブジェクト※2 作業項目の担当者(複数指定可能)を用いて通知する場合はこのフィールドの指定が必要となる。 複数指定の場合はカンマ(,)で連結される。 operatorにin/notInを使用する場合は以下の評価を行う。
|
オブジェクトが担当者が設定された作業項目に対するスケジュールの場合 |
| schedule | status※3 | str | スケジュールのステータス | 値は「JP1 Cloud Service 運用統合 APIリファレンス」の「APIリファレンス詳細>標準提供API>Schemas>dtos.ScheduleDTO>status」を参照。 | 常に取得可能 |
| schedule | workflowStatus※3 | str | スケジュールにひもづいているworkflowアクティビティのステータス | 値は「JP1 Cloud Service 運用統合 APIリファレンス」の「APIリファレンス詳細>標準提供API>Schemas>dtos.ScheduleDTO>workflowStatus」を参照。 | オブジェクトがワークフローのアクティビティに対するスケジュールの場合 |
| schedule | plannedStart※3 | Date※4 | スケジュールの計画された開始日時 | - | オブジェクトが開始予定の日時が設定されたスケジュールの場合 |
| schedule | plannedEnd※3 | Date※4 | スケジュールの計画された終了日時 | - | オブジェクトが終了予定の日時が設定されたスケジュールの場合 |
| schedule | calendar※3 | uuid | スケジュールにひもづく作業項目が属する予定表のID | calendarオブジェクト※2 | オブジェクトが作業項目に対するスケジュールの場合 |
| schedule | title※3 | str | スケジュールのタイトル | - | オブジェクトが以下のいずれかの条件を満たすスケジュールの場合
|
| schedule | scheduleType※3 | str | スケジュールの種別 | 次の値が設定される。
|
オブジェクトが作業項目に対するスケジュールの場合 |
| schedule | workitem※3 | uuid | 関連する作業項目のID | workitemオブジェクト※2 | オブジェクトが作業項目に対するスケジュールの場合 |
| schedule | canceled※3 | bool | スケジュールの削除、復旧 | - | オブジェクトが作業項目に対するスケジュールの場合 |
| schedule | changedFromWorkItemDefinition※3 | bool | 作業項目生成時からの変更フラグ | - | オブジェクトが作業項目に対するスケジュールの場合 |
| user | id | uuid | ユーザーID | - | 常に取得可能 |
| user | name | str | ユーザー名 | - | 常に取得可能 |
| user | str | ユーザーのメールアドレス | - | 常に取得可能 | |
| user | number | str | 電話番号 | - | オブジェクトが電話番号が設定されたユーザーの場合 |
| user | displayName | str | ユーザーの表示名 | 言語(日英)による姓名の順序が変わる。ヒアリングシートで指定した言語に従う。 | 常に取得可能 |
| group | id | uuid | グループID | - | 常に取得可能 |
| group | name | str | グループ名 | - | 常に取得可能 |
| group | str | グループのメールアドレス | - | オブジェクトがメールアドレスが設定されたグループの場合 | |
| calendar | id | uuid | 予定表のID | - | 常に取得可能 |
| calendar | name | str | 予定表の名前 | - | 常に取得可能 |
| calendar | assignedGroups | uuidリスト | 割り当て先のgroupのIDのリスト | groupオブジェクト※2 複数指定の場合はカンマ(,)で連結される。 operatorにin/notInを使用する場合は以下の評価を行う。
|
常に取得可能 |
| workitem | id※3 | uuid | 作業項目のID | - | 常に取得可能 |
| workitem | calendar※3 | uuid | 予定表のID | calendarオブジェクト※2 | 常に取得可能 |
| workitem | name※3 | str | 作業項目の名前 | - | 常に取得可能 |
| workitem | createdOn※3 | Date※4 | 作業項目の作成日時 | - | 常に取得可能 |
| workitem | createdBy※3 | uuid | 作業項目の作成者のID | userオブジェクト※2 | 常に取得可能 |
| workitem | updatedOn | Date※4 | 作業項目の更新日時 | - | オブジェクトの作業項目が1回以上更新されている場合 |
| workitem | updatedBy | uuid | 作業項目の更新者のID | userオブジェクト※2 | オブジェクトの作業項目が1回以上更新されている場合 |
| workitem | workflowExecUser※3 | uuid | ワークフロー実行者 | userオブジェクト※2 | オブジェクトがワークフローの自動実行が設定された作業項目の場合 |
| workitem | assignedUsers※3 | uuidリスト | 割り当て先のユーザーのIDのリスト | userオブジェクト※2 作業項目の担当者(複数指定可能)を用いて通知する場合はこのフィールドの指定が必要となる。 複数指定の場合はカンマ(,)で連結される。 operatorにin/notInを使用する場合は以下の評価を行う。
|
オブジェクトが担当者が設定された作業項目の場合 |
| workitem | assignedGroup※3 | uuid | 割り当て先グループのID | groupオブジェクト※2 | オブジェクトが担当グループが設定された作業項目の場合 |
| workitem | plannedStart※3 | str | 作業項目の予定開始時刻 | 形式:HH:MM:SS | 常に取得可能 |
| workitem | duration※3 | int | 作業項目の予定期間(分) | - | 常に取得可能 |
| workitem | scheduleType※3 | str | スケジュールの種別 | 次の値が設定される。
|
常に取得可能 |
| workitem | recurrenceNum※3 | int | 作業項目の繰り返し回数 | - |
|
| workitem | startDate※4 | str | 作業項目の開始日 | 形式:YYYY-MM-DD | オブジェクトが開始日を設定した作業項目の場合 |
| workitem | endDate※3 | str | 作業項目の終了日 | 形式:YYYY-MM-DD | オブジェクトが定期的な作業でかつ終了日が指定された作業項目の場合 |
| customer | id | str | 顧客ID | - | 常に取得可能 |
| customer | name | str | 顧客名 | - | 常に取得可能 |
例: .Context.schedule.assignedTo
またevent.typeが「update」または「delete」の場合、「.PrevContext」を使用することで変更前の値を取得できます。
| 項目 | 形式 | 具体例 |
|---|---|---|
| condition部 | YYYY-MM-DDTHH:mm:ss±hh:mm | 2025-01-02T03:04:05+09:00 |
| message部 | YYYY-MM-DD HH:mm:ss タイムゾーン | 2025-01-02 03:04:05 JST |
Notifierのマニフェストは以下です。
UIバージョンによって、propertyキーの仕様が異なります。
- APIバージョン1.0:
宛先のメールアドレスは、Bccヘッダーに設定される。
smtpサーバーへの認証情報、アドレス、ポートに固定値を指定する必要がある。 - APIバージョン1.1:
宛先のメールアドレスを、To、Cc、Bccヘッダーにそれぞれ設定できる。
smtpサーバーへの認証情報、アドレス、ポートに任意の値を指定できる。
| キー | デフォルト値 | 必須※ | 説明 | |||
|---|---|---|---|---|---|---|
| apiVersion: | Yes | APIバージョン 1.0を指定する。 |
||||
| kind: | Yes | notifierを指定する。 | ||||
| type: | No | resourceを指定する。 Ops Iの運用機能に追加する新しい定義であることを示す。 |
||||
| name: | Yes | Notifier定義の内部名 nameは以下のルールに従う必要がある。
|
||||
| label: | Yes | マニフェストファイルに記載する運用機能の表示名 | ||||
| includes: | No | このマニフェストファイルで利用する関連マニフェストファイルを記載
メモ
|
||||
| - kind: | Yes | 読み込むマニフェストファイルの種類 | ||||
| name: | Yes | 読み込むマニフェストファイルの内部名 | ||||
| description: | No | このマニフェストファイルに対する詳細説明 | ||||
| protocol: | Yes | 通知手段の使用プロトコル 以下のプロトコルが使用できる。
|
||||
| property: | Yes | smtpのプロパティ | ||||
| credential: | Yes | smtpサーバーへの認証情報 "default"で固定。 |
||||
| url: | Yes | smtpサーバーのアドレス "email-smtp.ap-northeast-1.amazonaws.com"で固定。 |
||||
| port: | Yes | smtpサーバーのポート "587"で固定。 |
||||
| to: | Yes | メールの宛先アドレスを指定する。 指定したメールアドレスは通知メールのBccヘッダーに指定され、送信される。 複数の宛先に送付する場合は、カンマ(,)で連結して指定する。メールで通知する場合、宛先メールアドレスが50件を超えると、50件ごとに宛先が分割して送信される。 通知(Notification)に含まれるオブジェクトのフィールドを埋め込むことで、GUIで通知される内容をメールでも通知できる。指定する際は、.Contextに埋め込みたいオブジェクトとフィールドを連結して指定する。 使用可能なオブジェクト・フィールドは「(表)Notifierで使用可能なオブジェクト・フィールド」を参照。 例) {{ .Context.receiver.email }} |
||||
| from: | Yes | smtpの送信元アドレス "noreply@ops-integration.com"で固定。 |
||||
| subject: | No | メールのタイトル 通知(Notification)に含まれるオブジェクトのフィールドを埋め込むことで、GUIで通知される内容をメールでも通知できる。指定する際は、.Contextに埋め込みたいオブジェクトとフィールドを連結して指定する。 使用可能なオブジェクト・フィールドは「(表)Notifierで使用可能なオブジェクト・フィールド」を参照。 例) {{ .Context.message.title }} |
||||
| message: | No | メールの本文 通知(Notification)に含まれるオブジェクトのフィールドを埋め込むことで、GUIで通知される内容をメールでも通知できる。指定する際は、.Contextに埋め込みたいオブジェクトとフィールドを連結して指定する。 使用可能なオブジェクト・フィールドは「(表)Notifierで使用可能なオブジェクト・フィールド」を参照。 例) {{ .Context.message.body }} |
||||
| conditions: | No | この定義の条件に合致した場合に、このNotifierを使って通知される。 | ||||
| - | No | 複数の条件があった場合は、or条件で判定される。 この下のレベルの条件はand条件で判定される。 |
||||
| - resource: | Yes | 条件 通知(Notification)に含まれるオブジェクトのフィールドを埋め込むこともできる。指定する際は、.Contextに埋め込みたいオブジェクトとフィールドを連結して指定する。 使用可能なオブジェクト・フィールドは「(表)Notifierで使用可能なオブジェクト・フィールド」を参照。 例) {{ .Context.receiver.email }} |
||||
| <operator>: | Yes | 条件のオペレータとオペランドを<key>: <value>で指定する。 <key> オペレータを指定する。以下のタイプがある。
オペランドを指定する。 例) regex: ^∗@hitachi.com$ |
||||
| キー | デフォルト値 | 必須※1: | 説明 | |||
|---|---|---|---|---|---|---|
| apiVersion: | Yes | APIバージョン 1.1を指定する。 |
||||
| kind: | Yes | notifierを指定する。 | ||||
| type: | No | resourceを指定する。 Ops Iの運用機能に追加する新しい定義であることを示す。 |
||||
| name: | Yes | Notifier定義の内部名 nameは以下のルールに従う必要がある。
|
||||
| label: | Yes | マニフェストファイルに記載する運用機能の表示名 | ||||
| includes: | No | このマニフェストファイルで利用する関連マニフェストファイルを記載
メモ
|
||||
| - kind: | Yes | 読み込むマニフェストファイルの種類 | ||||
| name: | Yes | 読み込むマニフェストファイルの内部名 | ||||
| description: | No | このマニフェストファイルに対する詳細説明 | ||||
| protocol: | Yes | 通知手段の使用プロトコル 以下のプロトコルが使用できる。
|
||||
| property: | Yes | smtpのプロパティ | ||||
| credential: | default | No | smtpサーバーへの認証情報 | |||
| url: | email-smtp.ap-northeast-1.amazonaws.com | No | smtpサーバーのアドレス | |||
| port: | 587 | No | smtpサーバーのポート | |||
| from: | noreply@ops-integration.com | No | smtpの送信元アドレス | |||
| to: | いずれかを指定 | メールの宛先アドレスを指定する。 指定したメールアドレスは通知メールの以下のヘッダーに指定され、送信される。
通知(Notification)に含まれるオブジェクトのフィールドを埋め込むことで、GUIで通知される内容をメールでも通知できる。指定する際は、.Contextに埋め込みたいオブジェクトとフィールドを連結して指定する。 使用可能なオブジェクト・フィールドは「(表)Notifierで使用可能なオブジェクト・フィールド」を参照。 例) {{ .Context.receiver.email }} |
||||
| cc: | ||||||
| bcc: | ||||||
| subject: | No | メールのタイトル 通知(Notification)に含まれるオブジェクトのフィールドを埋め込むことで、GUIで通知される内容をメールでも通知できる。指定する際は、.Contextに埋め込みたいオブジェクトとフィールドを連結して指定する。 使用可能なオブジェクト・フィールドは「(表)Notifierで使用可能なオブジェクト・フィールド」を参照。 例) {{ .Context.message.title }} |
||||
| message: | No | メールの本文 通知(Notification)に含まれるオブジェクトのフィールドを埋め込むことで、GUIで通知される内容をメールでも通知できる。指定する際は、.Contextに埋め込みたいオブジェクトとフィールドを連結して指定する。 使用可能なオブジェクト・フィールドは「(表)Notifierで使用可能なオブジェクト・フィールド」を参照。 例) {{ .Context.message.body }} |
||||
| conditions: | No | この定義の条件に合致した場合に、このNotifierを使って通知される。 | ||||
| - | No | 複数の条件があった場合は、or条件で判定される。 この下のレベルの条件はand条件で判定される。 |
||||
| - resource: | Yes | 条件 通知(Notification)に含まれるオブジェクトのフィールドを埋め込むこともできる。指定する際は、.Contextに埋め込みたいオブジェクトとフィールドを連結して指定する。 使用可能なオブジェクト・フィールドは「(表)Notifierで使用可能なオブジェクト・フィールド」を参照。 例) {{ .Context.receiver.email }} |
||||
| <operator>: | Yes | 条件のオペレータとオペランドを<key>: <value>で指定する。 <key> オペレータを指定する。以下のタイプがある。
オペランドを指定する。 例) regex: ^∗@hitachi.com$ |
||||
Notifierの定義内で使用可能なオブジェクト・フィールドは以下です。
| オブジェクト | フィールド | 説明 |
|---|---|---|
| message | title | メッセージのタイトル |
| message | severity | メッセージの重要度 |
| message | body | メッセージの内容 |
| message | referTo | メッセージの参照先 |
| receiver | 宛先のメールアドレス |
<定義例> Notification(申請者への却下通知)
apiVersion: 1.0
kind: notification
## Meta data
type: resource
name: lend_reject_notification
label: lend_reject_notification
description: 申請者に却下通知を行うマニフェストです
## Notification contents
event:
resource: schedule
type: update
conditions:
-
- resource: '{{ .GetValue ".Context.activity" }}'
eq: create_vm_wf_04
- resource: '{{ .GetValue ".Context.workflowStatus" }}'
eq: pending
- resource: '{{ .GetValue ".PrevContext.workflowStatus" }}'
eq: succeeded
notifications:
- message:
title: VM貸出の却下通知
body: |
VM貸出の却下通知が到着しています。申し送り事項を確認の上、対応お願いします。
申請日時:{{ .GetValue ".Context.createdOn" }}
申請者:{{ .GetValue ".Context.createdBy" }}
referTo: https://{{ .System.domain }}/sys_request/workflow/workflow_list/workflow_detail/{{ .GetValue ".Context.workflow" }}
severity: Information
destinations:
- type: user
value: '{{ .GetValue ".Context.createdBy" }}'
apiVersion: 1.0
kind: notification
## Meta data
type: resource
name: workitem_notification
label: workitem_notification
description: |
作業項目の削除通知
## Notification contents
event:
resource: workitem
type: delete
notifications:
- message:
title: '[{{ .GetValue ".PrevContext.name" }}] が削除されました。'
body: |
作業項目「{{ .GetValue ".PrevContext.name" }}」が削除されました。
severity: Information
destinations:
- type: user
value: '{{ .GetValue ".PrevContext.assignedUsers" }}'
notifiers:
- email
apiVersion: 1.0
kind: notifier
## Meta data
type: resource
name: email
label: Normal case
description: Normal case
protocol: smtp
property:
credential: default
url: email-smtp.ap-northeast-1.amazonaws.com
port: 587
to: '{{ .Context.receiver.email }}'
from: noreply@ops-integration.com
subject: '{{ .Context.message.title }}'
message: |
{{ .Context.message.body }}
apiVersion: 1.1
kind: notifier
type: resource
name: opsi_sample_email_notifier
label: Ops I sample email notifier
description: Ops I sample email notifier
protocol: smtp
property:
cc: '{{ .Context.receiver.email }}'
subject: '{{ .Context.message.title }}'
message: '{{ .Context.message.body }}'
メモ