はじめに
EDA Controller 側から run_job_temolate
アクションを利用すると、API 経由でAutomation Controller のジョブテンプレートを実行できます。
(なお、ansible-rulebook 1.0.0 現在、ワークフロージョブテンプレートは実行できません。機能追加予定 PR #5423)
ジョブテンプレート側では、ansible_eda
という変数名を参照すると、イベントの詳細な情報を利用できます。
EDA Controller (Rulebook) 側で condition などに利用していた情報を、Playbook 側でも利用できるようなイメージです。
ansible-rulebook のドキュメント にも記載があります。
The text above describes how to use events or facts in a rulebook. A single matched event or multiple matched events are also sent to a playbook through extra_vars under namespace ansible_eda when a run_playbook or run_job_template action is executed. So in a playbook you should reference them as ansible_eda.event or ansible_eda.events. Facts are not sent to playbooks.
忘れがちな準備: 起動プロンプトを有効にする
ansible_eda
変数の値は、extra_vars
(追加変数、画面上は「変数」)として渡たります。
API で呼ばれるため、ジョブテンプレートの追加変数の「起動プロンプト」を有効にしておく必要があります。個人的に忘れがちです。
これで準備できました。あとは run_job_template
アクションで呼ぶだけです。
ジョブを見ると以下のように追加変数で ansible_eda
変数が渡ってきていることがわかります。