23.7. ワークフロービジュアライザー
ワークフロービジュアライザーは、ジョブテンプレート、ワークフロー、プロジェクトの同期、インベントリーの同期を図を使用して連結し、ワークフローのテンプレートを構築します。ワークフローテンプレートを構築する前に、親ノード、子ノード、兄弟ノードのさまざまなシナリオに関連する考慮事項は ワークフロー セクションを参照してください。
23.7.1. ワークフローの構築
次のノードタイプの 2 つ以上を任意に組み合わせて設定して、ワークフローを構築できます。
- テンプレート (ジョブテンプレートまたはワークフロージョブテンプレート)
- プロジェクトの同期
- インベントリー同期
- 承認
各ノードは長方形で表され、関係や関連するエッジタイプは線 (またはリンク) で表され、それぞれを連結します。
手順
ワークフロービジュアライザーを起動するには、次のいずれかの方法を使用します。
ナビゲーションパネルから、
を選択します。 - ワークフローテンプレートを選択し、Details タブで をクリックします。
- Visualizer タブを選択します。
Templates リストビューで、 アイコンをクリックします。
Node Type リストから、追加するノードのタイプを選択します。
承認 ノードを選択した場合の詳細は 承認ノード を参照してください。
ノードを選択すると、そのノードに関連する有効なオプションが表示されます。
注記ワークフローグラフにデータを入力するときに、デフォルトのインベントリーがないジョブテンプレートを選択すると、親ワークフローのインベントリーが使用されます。ジョブテンプレートでは認証情報は必須ではありませんが、パスワードを必要とする認証情報が含まれている場合、その認証情報がプロンプトの認証情報に置き換えられない限り、ワークフローのジョブテンプレートを選択できません。
- ノードタイプを選択すると、ワークフローの構築が開始され、選択したノードに対して実行するアクションのタイプを指定する必要があります。このアクションはエッジタイプとも呼ばれます。
ノードが root ノードの場合には、エッジタイプはデフォルトで Always になり、編集できません。後続のノードでは、次のシナリオ (エッジタイプ) のいずれかを選択して、それぞれに適用できます。
- Always: 成功または失敗にかかわらず、実行を継続します。
- On Success: 正常に完了したら、次のテンプレートを実行します。
- On Failure: 失敗後、別のテンプレートを実行します。
Convergence フィールドから、ノードが収束ノードである場合のノードの動作を選択します。
- Any はデフォルトの動作で、次の収束ノードをトリガーする前に、任意のノードが指定どおりに完了できます。1 つの親のステータスがこれらの実行条件のいずれかを満たしている限り、すべて の子ノードが実行されます。任意 のノードではすべてのノードが完了させる必要がありますが、想定した結果で完了させる必要があるのは 1 つのノードのみです。
次のノードを収束してトリガーする前に、すべてのノードが指定どおりに完了させるようにするには、All を選択します。all* ノードの目的は、子ノードが実行できるように、親ノードすべてを想定の結果で完了させることです。ワークフローは、子ノードを実行するためにすべての親が期待どおりに動作することを確認します。それ以外の場合は、子ノードは実行されません。
選択すると、グラフィカルビューでノードに ALL というラベルが付けられます。
注記ノードがルートノードであるか、またはノードが収束していないノードである場合、Convergence ルールの設定は適用されません。その動作は、それをトリガーするアクションによって決定されるためです。
ワークフローで使用されるジョブテンプレートのパラメーターのいずれかで Prompt on Launch が選択されている場合、 オプションが表示され、ノードレベルでそれらの値を変更できるようになります。ウィザードを使用して各タブの値を変更し、Preview タブで をクリックします。
ワークフローで使用されるワークフローテンプレートのインベントリーオプションとして Prompt on Launch が選択されている場合は、ウィザードを使用してプロンプトでインベントリーを提供します。親ワークフローに独自のインベントリーがある場合、ここで提供されるインベントリーは上書きされます。
注記詳細情報の入力を求める必須フィールドがあるが、デフォルトがないワークフロージョブテンプレートの場合、ノードの作成時に Select オプションを有効にする前にそれらの値を指定する必要があります。
次の 2 つのケースでは、
オプションによって値が指定されるまで、 オプションが無効になります。- ワークフロージョブテンプレートで Prompt on Launch チェックボックスをオンにし、デフォルトを指定しない場合。
- 必須であるがデフォルトの回答を提供しない Survey の質問を作成する場合。
ただし、認証情報の場合はこの限りではありません。ノードの作成時にノードの起動に必要なものをすべて指定する必要があるため、ワークフローノードの作成時には、起動時にパスワードを必要とする認証情報は許可されません。ワークフロージョブテンプレートで認証情報の入力を求められた場合、Automation controller でパスワードを必要とする認証情報を選択できません。
そのノードでの変更を適用するには、プロンプトウィザードが閉じたときに
をクリックする必要もあります。それ以外の場合、加えた変更はジョブテンプレートに設定された値に戻ります。ノードが作成されると、そのジョブタイプのラベルが付けられます。各ワークフローノードに関連付けられたテンプレートは、進行中に選択された実行シナリオに基づいて実行されます。コンパス ( ) アイコンをクリックすると、各実行シナリオとそのジョブタイプの凡例が表示されます。
ノードの上にマウスを移動して、別のノードの追加、ノードに関する情報表示、ノードの詳細の編集、既存のリンクの編集、選択したノードの削除が可能です。
- ノードを追加または編集したら、 ノードの構築シナリオ を参照してください。 をクリックして変更を保存し、グラフィカルビューにレンダリングします。ワークフローを構築する可能な方法については、
- ワークフロージョブテンプレートのビルドが完了したら、 をクリックしてワークフロージョブテンプレート全体を保存し、新しいワークフローテンプレートの詳細ページに戻ります。
をクリックしても作業内容は保存されませんが、ワークフロービジュアライザー全体が閉じられるため、再度開始する必要があります。
23.7.2. 承認ノード
Approval ノードを選択すると、ワークフローを進めるために介入が必要になります。これは、ワークフローで次の Playbook に進むことを承認できるように、Playbook 間でワークフローを一時停止する手段として機能します。これにより、ユーザーは指定された介入時間が与えられますが、別のトリガーを待たずにできるだけ早く続行できるようになります。
タイムアウトのデフォルトはなしですが、リクエストの有効期限が切れて自動的に拒否されるまでの時間を指定できます。承認ノードの情報を選択して指定すると、横に一時停止アイコンが付いた状態でグラフィカルビューに表示されます。
承認者は、次の基準を満たします。
- 承認ノードを含むワークフロージョブテンプレートを実行できるユーザー。
- 組織管理者以上の権限を持つユーザー (そのワークフロージョブテンプレートに関連付けられた組織に対して)。
- 特定のワークフロージョブテンプレート内で明示的に割り当てられた Approve パーミッションを持つユーザー。
保留中の承認ノードが指定された制限時間内に承認されない場合 (有効期限が割り当てられている場合)、または拒否された場合、それらのノードは "timed out" または "failed" としてマークされ、次の "on fail node" または "always node" に移動します。承認された場合は、"on success" パスが選択されます。すでに承認、拒否、またはタイムアウトしたノードに API で POST
を実行しようとすると、このアクションが冗長であることがエラーメッセージで通知され、それ以上の手順は実行されません。
次の表は、承認ワークフローで許可されるさまざまなレベルのパーミッションを示しています。
23.7.3. ノードの構築シナリオ
次のシナリオでノードを管理する方法を学習します。
手順
- 親ノードのアイコン ( ) アイコンをクリック兄弟ノードを追加します。
- 2 つのノードを結ぶ線の上にマウスを置き、プラス記号 ( ) をクリックして、ノード間に別のノードを挿入します。プラス記号 ( ) アイコンをクリックして、2 つのノードの間にノードを自動的に挿入します。
- もう一度 をクリックして、分割シナリオを表すルートノードを追加します。
- 分割シナリオを作成する任意のノードで、分割シナリオが開始されるノードの上にマウスを置き、プラス記号 ( ) アイコンをクリックします。これにより、同じ親ノードから複数のノードが追加され、兄弟ノードが作成されます。
新しいノードを追加する場合、
オプションはワークフローテンプレートにも適用されます。ワークフローテンプレートは、インベントリーと Survey を要求します。次のいずれかの方法を使用して、最後に挿入したノードを元に戻すことができます。
- 選択を行わずに別のノードをクリックします。
- をクリックします。
次のワークフロー例には、ジョブテンプレートによって開始される 3 種類のジョブすべてが含まれています。実行に失敗した場合は、同期ジョブを保護する必要があります。失敗したか成功したかに関係なく、インベントリー同期ジョブに進みます。
コンパス ( ) アイコンをクリックしてキーを参照し、グラフィック描写に関連付けられたシンボルと色の意味を識別します。
ワークフローで、兄弟ノードにさまざまなエッジタイプが指定されていて、後続のノードがアタッチされたノードを削除した場合には、アタッチされたノードが自動的に兄弟ノードセットと結合されて、そのエッジタイプを保持します。
23.7.4. ノードの編集
手順
次のいずれかの方法を使用してノードを編集します。
- ノードを編集する場合は、編集するノードをクリックします。ペインには現在の選択内容が表示されます。変更を加えて をクリックして、変更をグラフィカルビューに適用します。
- 既存のリンクのエッジタイプ (success、Failure、always) を編集するには、リンクをクリックします。ペインには現在の選択内容が表示されます。変更を加えて をクリックすると、変更がグラフィカルビューに適用されます。
各ノードに表示されるリンク ( ) アイコンを使用して、あるノードから別のノードに新しいリンクを追加します。これを行うと、リンクできるノードが強調表示されます。これらのオプションは点線で示されています。無効なオプションは、無効なボックス (ノード) で表現されます。こうすることで、無効なリンクが生成されないようにします。次の例では、リンク先の e2e-ec20de52-project の可能なオプションとして デモプロジェクト を矢印で示しています。
- リンクを削除するには、リンクをクリックして をクリックします。このオプションは、ターゲットまたは子ノードに複数の親がある場合にのみペインに表示されます。すべてのノードは、少なくとも 1 つの他のノードに常にリンクされている必要があるため、古いリンクを削除する前に新しいリンクを作成する必要があります。
次のいずれかの方法を使用して、ワークフロー図のビューを編集します。
- 設定アイコンをクリックして、ビューのズーム、パン、または位置変更を行います。
- ワークフロー図をドラッグして画面上の位置を変更するか、マウスのスクロールを使用してズームします。