- はじめに
- 基本情報
- BPMN を使用したプロセス モデリング
- ケース管理を使用したプロセス モデリング
- フローを使用したプロセス モデリング
- プロセスの実装
- プロセスの操作
- プロセスの監視
- プロセスの最適化
- 参考情報
プロセスを一時停止して、タスクを割り当てて、人間によるレビュー、承認、または入力を行います。
[人間によるタスク] ノードは、プロセスを一時停止してユーザーにタスクを割り当て、そのユーザーがタスクを完了すると再開します。プロセスを続行する前に、人間による確認、承認、または入力が必要な場合に使用します。
このページでは、ノード上で直接フォームを構築するクイック フォーム タスクの種類について説明します。実践的なチュートリアルについては、「 ワークフローに人間による承認を追加する」をご覧ください。
人間によるタスクを使用すべき状況と判断を使用する状況
[ 人間によるタスク ] ノードは、プロセスを続行する前にユーザーが情報を確認して対応する必要がある場合に使用します。判断 ノードは 、人間の関与なしに既存のデータから分岐を自動的に解決できる場合に使用します。
人間によるタスク ノードは、担当者が選択した結果を専用の出力ハンドルを介してルーティングします。分岐が個人の選択ではなく既存のデータに基づいている場合に、判断に到達します。
タスクの種類
[ 種類 ] フィールドでは、担当者にタスクがどのように提示されるかを制御します。
クイック フォーム
ノード上で直接フォームを構築します。担当者が表示するフィールドと、担当者が選択できる結果を定義します。これは既定値であり、承認や単純なデータ収集に最適です。このページの残りの部分は、クイック フォームをドキュメント化します。
カスタム アプリ
コード化されたアクション アプリを使用してタスクをサポートし、より充実したカスタム インターフェイスを実現します。[ アクション アプリ ] でアプリを選択し、その入力をマッピングします。アプリの構築自体については、アクション Apps のドキュメントをご覧ください。
構成
| フィールド | Required | 既定 (Default) | 説明 |
|---|---|---|---|
| 入力 | はい | クイック フォーム | タスクのプレゼンテーション モード。クイックフォーム は、ノードで定義されたフォームを示します。 カスタム アプリ: コード化されたアクション アプリを示します。 |
| 配信チャネル | はい | グループに割り当てられた Action Center とメール | タスクの配信先と担当者。サポートされているチャネルは、 Action Center、 メール、 Slack、 Microsoft Teams です。Slack と Microsoft Teams には、Integration Service のコネクションが必要です。 |
| タスクのスキーマ | はい | 結果の送信 | フォームの構造。担当者が表示または入力するフィールドや、担当者が選択できる結果が含まれます。完全な構造については、「 スキーマ: フィールドと結果 」をご覧ください。 |
| タスク タイトル | いいえ | なし | タスク リスト内の担当者に表示されるタイトル。 |
| 優先度 | いいえ | なし | Action Center に表示される優先度は、 低、 中、 高です。 |
| ラベル | いいえ | なし | タスクを整理するためのコンマ区切りのラベル (例: finance,approval)。 |
スキーマ: フィールドと結果
タスク スキーマでは、担当者に表示する内容と、プロセスに戻る内容を定義します。プロジェクトには、フィールドと結果の 2 つの部分があります。
フィールド
フィールドは、タスクに出入りするデータを運びます。各フィールドには方向があります。
- 入力 フィールドは担当者の読み取り専用のコンテキストであり、プロセスの値 (例:
$vars.start.output.employeeName) にバインドされます。 - 出力 フィールドは担当者によって入力され、プロセスに返されます。
- 入力/出力 フィールドは、その両方を行います。つまり、担当者にプロセスの値を出発点として表示し、担当者はその値を編集してからプロセスに戻すことができます。
各フィールドには 型があります。利用可能な種類:
textnumberdatebooleanfile
結果
結果は、担当者がタスクを完了するために使用するボタンです ( 例: 承認 、 却下)。既定のスキーマでは、[ 送信 ] の結果が 1 つになります。最初の結果がプライマリ アクションとしてマークされます。
各結果は、独自の出力ハンドルをノードに追加します。担当者が結果を選択すると、プロセスはその結果のハンドルから続行されるため、各結果を異なるパスにルーティングできます。「 結果の分岐」を参照してください。
出力
ノードの出力に $vars.<nodeName>.output でアクセスし、選択した結果に $vars.<nodeName>.statusでアクセスします。
出力
タスクの結果: 担当者が送信した値を保持するオブジェクトです。キーは出力フィールドで設定されます。$vars.<nodeName>.output.<fieldId>で 1 つのフィールドを読み込みます。このオブジェクトには、選択した結果に設定された Action プロパティも含まれます。
ステータス
担当者が選択した結果です (例: Approve)。この値で分岐してプロセスをルーティングします。
結果に対する分岐
定義した各結果により、出力ハンドルが人間のタスク ノードに追加されます。担当者がタスクを完了すると、担当者が選択した結果のハンドルからプロセスが続行されます。各結果ハンドルを、そのパスに対して実行するノードに接続します。結果を分割するために [判断] ノードは必要ありません。
Human Task
├─ Approve → continue processing
└─ Reject → notify the requester and terminate
Human Task
├─ Approve → continue processing
└─ Reject → notify the requester and terminate
送信済みフィールドを任意の下流ノードで読み取る $vars.<nodeName>.output.<fieldId>
// In a Script node on one of the outcome paths
return $vars.approval.output.comment;
// In a Script node on one of the outcome paths
return $vars.approval.output.comment;
選択した結果は、式で必要な場合は $vars.<nodeName>.status としても使用できます。
一般的な問題
担当者のタスクが表示されない
担当者が正しいか (ユーザーかグループか) であり、Action Center へのアクセス権を持っていることを確認します。
出力値がありません。
フィールドがタスク スキーマで定義されていて、方向が [出力] であることを確認します。
結果が間違ったパスにルーティングされる
各結果の出力ハンドルが目的のノードに接続されていることを確認します。スキーマで定義する各結果には、ヒューマン タスク ノードで専用のハンドルがあります。
備考
実際の担当者なしでテストするには、[ モック] 出力 を使用して status と output 応答をシミュレートします。手順については、「 ワークフローに人間による承認を追加する 」をご覧ください。
- 担当者がグループの場合、そのグループのメンバーは誰でもタスクを要求して完了できます。
- フォームよりもリッチなインターフェイスを利用するには、[ 種類 ] を [ カスタム アプリ ] に設定し、アクション アプリでタスクを作成します。