20.10. curl でのジョブの起動
curl コマンドラインツールを使用して、REST API を介してプログラムで Automation Controller ジョブを起動します。この方法は、ジョブの実行を外部スクリプトに統合するための直接的な手段であり、即時の制御を確保します。
ジョブテンプレート ID が '1' で、コントローラーの IP が 192.168.42.100、有効なログイン認証情報が admin および awxsecret である場合、以下のように新規ジョブを作成できます。
curl -f -k -H 'Content-Type: application/json' -XPOST \
--user admin:awxsecret \
https://192.168.42.100/api/v2/job_templates/1/launch/
curl -f -k -H 'Content-Type: application/json' -XPOST \
--user admin:awxsecret \
https://192.168.42.100/api/v2/job_templates/1/launch/
これにより JSON オブジェクトが返されるので、解析し、新規作成したジョブの ID を 'id' フィールドから展開するのに使用してください。次の例のように、追加の変数をジョブテンプレートの呼び出しに渡すこともできます。
curl -f -k -H 'Content-Type: application/json' -XPOST \
-d '{"extra_vars": "{\"foo\": \"bar\"}"}' \
--user admin:awxsecret https://192.168.42.100/api/v2/job_templates/1/launch/
curl -f -k -H 'Content-Type: application/json' -XPOST \
-d '{"extra_vars": "{\"foo\": \"bar\"}"}' \
--user admin:awxsecret https://192.168.42.100/api/v2/job_templates/1/launch/
注記
extra_vars パラメーターは、単なる JSON ディクショナリーではなく、JSON を含む文字列である必要があります。引用符をエスケープする場合は注意してください。