最初のフォーム
プレイブックを書き、デザイナーでそのフォームを作り、起動してジョブを確認します
このチュートリアルは新規インストールした状態から始めます。 インストール を参照してください。所要時間は 15 分ほどです。
1. ログインする
ブラウザーで AnsibleForms を開き、管理者としてログインします。
既定のアカウントは admin / AnsibleForms!123 (または ADMIN_* に設定した値)です。 フォーム ページが開きます。

2. プレイブックを書く
ansible フォームは playbooks フォルダーにあるプレイブックを実行するので、先にプレイブックを用意します。次の内容を hello.yaml として保存します。
- name: Hello world
hosts: localhost
gather_facts: false
tasks:
- name: Show the values from the form
ansible.builtin.debug:
msg: "Hello {{ your_name }}: a {{ vm_size }} machine in {{ target_env }} (dry run: {{ dry_run }})"
このプレイブックは 4 つの変数を読み取ります。次に作るフォームが、フィールドごとに 1 つずつ extravars として送ります。
ファイルは永続フォルダー( ANSIBLE_PATH )の playbooks フォルダーに置きます。 フォルダーがまだない場合は作成してください。
/app/dist/persistent にマウントしたフォルダーです。インストールの例では /srv/apps/ansibleforms/persistent です。
mkdir -p /srv/apps/ansibleforms/persistent/playbooks
cp hello.yaml /srv/apps/ansibleforms/persistent/playbooks/
docker-compose プロジェクトの data/playbooks フォルダーです。
cp hello.yaml data/playbooks/
AnsibleForms の Pod の /app/dist/persistent にマウントされた永続ボリュームです。Pod の名前を調べてから、ファイルをコピーします。
kubectl -n ansibleforms get pods
kubectl -n ansibleforms exec <pod> -- mkdir -p /app/dist/persistent/playbooks
kubectl -n ansibleforms cp hello.yaml <pod>:/app/dist/persistent/playbooks/hello.yaml
サーバーの persistent/playbooks フォルダーです。インストールの例では /srv/apps/ansibleforms/server にあります。
mkdir -p /srv/apps/ansibleforms/server/persistent/playbooks
cp hello.yaml /srv/apps/ansibleforms/server/persistent/playbooks/
Git リポジトリで playbook に使用しますか? をオンにしている場合、プレイブックはそのリポジトリから実行されます。 その場合は
hello.yamlをそのリポジトリにコミットしてください。 デザイナーと Git を参照してください。
3. フォームを作成する
フォームは forms フォルダーにある YAML ファイルです。デザイナーはブラウザー上でこれを編集し、保存する前にチェックします。
- 上部メニューの デザイナー をクリックし、左メニューの フォーム をクリックします。
- 右上のスイッチ( デザイナーを開始 )をクリックします。設定がロックされ、ほかの人が同時に編集できなくなります。 表示は 自分がロック中 に変わります。
- ツールバーの最初のボタン 新しいファイル をクリックし、ファイル名
hello-world.yamlを入力します。デザイナーはNew Formという名前のフォームをそこに追加します。 - エディターの YAML を次のフォームに置き換えます。
name: Hello world
type: ansible
playbook: hello.yaml
description: Greets you with the values you picked
icon: play
roles:
- default
categories:
- Default
fields:
- name: your_name
type: text
label: Your name
required: true
- name: target_env
type: enum
label: Environment
values:
- development
- test
- production
default: development
required: true
- name: vm_size
type: enum
label: Size
expression: "[{size:'small',cpus:1},{size:'medium',cpus:2},{size:'large',cpus:4}]"
runLocal: true
default: __auto__
required: true
- name: dry_run
type: checkbox
label: Dry run
default: true
- 検証 (チェックマーク)をクリックし、次に 保存 をクリックします。保存すると
hello-world.yamlが forms フォルダーに書き込まれます。 - もう一度スイッチをクリックしてロックを解除します。

このフォームでは 4 種類のフィールドを使っています。
| フィールド | 種類 | 内容 |
|---|---|---|
your_name | text | 必須のテキストボックス |
target_env | enum | values の固定リストから選ぶドロップダウン |
vm_size | enum | ローカルの 式 で値を埋めるドロップダウン。 __auto__ は最初の項目を選択します |
dry_run | checkbox | チェックボックス。 true または false として送られます |
vm_size は size と cpus の 2 列を表示し、最初の列である size を送ります。別の列を送るには valueColumn を指定します。
roles: [default] でログインしたすべてのユーザーがこのフォームを実行できるようになり、 categories: [Default] で既定の config.yaml が定義しているカテゴリにフォームが入ります。
hello-world.yamlをFORMS_FOLDER_PATHにコピーし、 VS Code で検証する こともできます。
4. 起動する
フォーム ページからフォームを開きます。上部メニューの フォーム をクリックし、 Default カテゴリの Hello world を選びます。
名前を入力し、必要ならほかのフィールドも変更します。 Extravars を表示 をクリックするとプレイブックが受け取る内容を確認できます。 最後に 送信 をクリックします。

5. 出力を確認する
ジョブはすぐに開始され、実行中の出力がフォームの下に表示されます。最後に 完了 のバーが表示されます。

debug タスクが入力した値を表示します。たとえば Hello Alice: a small machine in development (dry run: True) です。
インベントリがない場合、暗黙の localhost に関する警告が出ますが、これは想定どおりです。実際のフォームでは inventory を設定します。
6. ジョブ履歴で見つける
起動はすべてジョブとして記録されます。上部メニューの ジョブ をクリックすると、 すべてのジョブ の先頭に新しいジョブがあります。
ジョブをクリックすると出力をもう一度確認でき、 Extravars を表示 で送られた内容を確認できます。各ジョブの前にあるアイコンで、 ジョブを再起動または削除できます。

次のステップ
リファレンスページを参考に、このフォームを発展させてください。