Je eerste formulier

Schrijf een playbook, bouw er in de Designer een formulier voor, start het en zoek de job terug

  1. 1. Meld je aan
  2. 2. Schrijf het playbook
  3. 3. Maak het formulier
  4. 4. Start het
  5. 5. Bekijk de uitvoer
  6. 6. Vind het terug in de jobgeschiedenis
  7. Volgende stappen

Deze tutorial gaat uit van een verse installatie, zie Installatie. Reken op ongeveer een kwartier.


1. Meld je aan

Open AnsibleForms in een browser en meld je aan als beheerder.

Het standaardaccount is admin / AnsibleForms!123 (of je eigen ADMIN_*-waarden); de pagina Formulieren gaat open:

De pagina Formulieren, met voorbeeldformulieren


2. Schrijf het playbook

Een ansible-formulier voert een playbook uit de map met playbooks uit, dus het playbook komt eerst. Sla dit op als 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 }})"

Het playbook leest vier variabelen. Het formulier dat je hierna bouwt stuurt ze mee als extravars, één per veld.

Zet het bestand in de map playbooks van de persistente map (ANSIBLE_PATH); maak de map aan als die nog niet bestaat:

De map die je op /app/dist/persistent hebt gekoppeld, /srv/apps/ansibleforms/persistent in het installatievoorbeeld:

mkdir -p /srv/apps/ansibleforms/persistent/playbooks
cp hello.yaml /srv/apps/ansibleforms/persistent/playbooks/

Als bij een git-repository Gebruiken voor playbooks aan staat, worden playbooks in plaats daarvan uit die repository uitgevoerd: commit hello.yaml daar. Zie Designer en git.


3. Maak het formulier

Formulieren zijn YAML-bestanden in de map met formulieren. De Designer bewerkt ze in de browser en controleert ze voordat hij ze opslaat.

  1. Klik op Ontwerper in het bovenste menu en daarna op Formulieren in het linkermenu.
  2. Klik op de schakelaar rechtsboven (Start designer). Die vergrendelt de configuratie zodat niemand anders haar tegelijk bewerkt, en toont daarna Vergrendeld door mij.
  3. Klik op Nieuw bestand, de eerste knop van de werkbalk, en geef de bestandsnaam hello-world.yaml op. De Designer voegt er een formulier met de naam New Form aan toe.
  4. Vervang de YAML in de editor door dit formulier:
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
  1. Klik op Valideren (het vinkje) en daarna op Opslaan. Bij het opslaan wordt hello-world.yaml in de map met formulieren geschreven.
  2. Klik opnieuw op de schakelaar om de vergrendeling vrij te geven.

De Designer, tijdens het bewerken van een formulier

Het formulier gebruikt vier veldtypen:

Veld Type Wat het doet
your_name text Een verplicht tekstvak
target_env enum Een keuzelijst met een vaste lijst values
vm_size enum Een keuzelijst gevuld door een lokale expressie; __auto__ selecteert het eerste item
dry_run checkbox Een selectievakje, verstuurd als true of false

vm_size toont beide kolommen, size en cpus, en verstuurt size, de eerste; met valueColumn kies je een andere.

Met roles: [default] mag elke aangemelde gebruiker het formulier uitvoeren, en categories: [Default] zet het in de categorie die de standaard- config.yaml definieert.

Je kunt hello-world.yaml ook naar FORMS_FOLDER_PATH kopiëren en het in VS Code valideren.


4. Start het

Open het formulier vanaf de pagina Formulieren: klik op Formulieren in het bovenste menu en kies Hello world in de categorie Default.

Vul je naam in en pas de andere velden aan als je wilt. Klik op Toon extravars om te zien wat het playbook ontvangt, en klik daarna op Verzenden:

Een formulier


5. Bekijk de uitvoer

De job start meteen, en de uitvoer verschijnt onder het formulier terwijl hij loopt, met aan het eind een balk Voltooid:

De uitvoer van een job

De debug-taak toont je waarden, bijvoorbeeld Hello Alice: a small machine in development (dry run: True).

De waarschuwing over de impliciete localhost is normaal zonder inventory; een echt formulier stelt inventory in.


6. Vind het terug in de jobgeschiedenis

Elke start wordt bewaard als job. Klik op Taken in het bovenste menu: de nieuwe job staat bovenaan in Alle jobs.

Klik op de job om de uitvoer opnieuw te zien, en op Toon extravars om te zien wat er verstuurd is. Met de pictogrammen vóór elke job start je hem opnieuw of verwijder je hem:

De jobgeschiedenis


Volgende stappen

Bouw verder op dit formulier met de referentiepagina’s:

  • Formulieren : elke eigenschap van een formulier, templates op runners, workflowformulieren, goedkeuringspunten en meldingen
  • Formuliervelden : alle veldtypen, met validatie, afhankelijkheden en opmaak
  • Expressies : vul velden vanuit REST API’s, databases en bestanden
  • Rollen en categorieën in config.yaml : bepaal wie welk formulier ziet
  • Hoe het werkt : wat er achter een start gebeurt, en waar alles wordt opgeslagen