4.3.3.2 通知を含めたワークフローの定義例
ワークフローの任意のタイミングで通知を行う場合の定義例を示します。
通知の"type"が"onDemand"の場合、ワークフローで指定した任意のタイミングで通知を行えます。
通知の内容に、ワークフローのフィールドの値や、Workflowのマニフェストファイルで設定したパラメータを以下により埋め込むことができます。
- .GetValueを使用
使用できる値は「(表)Notificationで使用可能なオブジェクト・フィールド」を参照してください。 - Ops I提供部品「oi.notify」を使用
Workflowのマニフェストファイルで定義したパラメータを埋め込めます。メッセージ内容や宛先をワークフロー定義で動的に変更することができます。
注意事項
Workflowのマニフェストファイルで定義したnotificationの値は、Notificationのマニフェストファイルで定義したnameの値と一致する必要があります。また、Ops I提供部品「oi.notify」を使用する場合はNotificationのマニフェストファイルに以下のように設定してください。
- event.resourceは"workflow"に指定する。
- event.typeは"onDemand"に指定する。
- conditionsは指定しない。
- Workflowのマニフェストファイルで定義した「oi.notify」のパラメータをNotificationのマニフェストファイルに埋め込む場合、次のように指定する。
{{ .OINotify.params.key }}
Workflowのマニフェストについては「Workflow」を、Ops I提供部品「oi.notify」については「(表)actionのリスト(Ops I提供部品)」を参照してください。
NotificationとNotifierのマニフェストの詳細については「Notification、Notifier」を参照してください。
Workflowのマニフェストファイル、およびNotificationのマニフェストファイルの定義例を以下に示します。
【ユースケース1:メッセージのタイトルおよび内容の一部をWorkflowのマニフェストファイルに定義する】
再申請の通知内容を、Workflowのマニフェストファイルに定義し、その内容に基づいたNotificationのマニフェストファイルを作成します。
<Workflowのマニフェストファイルのtasks定義例>
notify_vm_wf_02:
action: oi.notify
input:
notification: lend_request_notification
params:
type: 再申請
document: 申し送り事項
next:
- when: <% succeeded() %>
do: next_step
- when: <% failed() %>
do: fail
<Notificationのマニフェストファイルの定義例>
apiVersion: 1.0
kind: notification
## Meta data
type: resource
name: lend_request_notification
label: 貸出申請通知
description: 担当者に貸出申請通知を行うマニフェストです
## Notification contents
event:
resource: workflow
type: onDemand
notifications:
- message:
title: VM貸出の{{ .OINotify.params.type }}通知
body: |
VM貸出の{{ .OINotify.params.type }}通知が到着しています。{{ .OINotify.params.document }}を確認の上、対応お願いします。
申請日時:{{ .GetValue ".Context.createdOn" }}
申請者:{{ .GetValue ".Context.createdBy" }}
referTo: https://{{ .System.domain }}/sys_request/workflow/workflow_list/workflow_detail/{{ .GetValue ".Context.id" }}
severity: Information
destinations:
- type: user
value: '{{ .GetValue ".Context.create_vm_wf_02.assignedTo" }}'