Formulare

Die Formulare definieren, die Ihre Benutzer ausfüllen


Für Formularautoren: wie Formulare in YAML geschrieben werden, woher sie geladen werden und welche Eigenschaften jeder Formulartyp hat.

Formulare sind der Kern von AnsibleForms. Jedes Formular ist eine Weboberfläche, die Benutzereingaben sammelt und mit diesen Daten ein Ansible-Playbook, eine Vorlage von AWX, AAP oder Ascender, eine Semaphore-Vorlage, einen Rundeck- oder Jenkins-Job oder einen Workflow ausführt.

Formulare werden in YAML-Dateien im Formularordner definiert. Jede YAML-Datei enthält entweder ein einzelnes Formular oder eine Liste von Formularen, und Unterordner können zur Organisation verwendet werden.

VIDEO: Ihr erstes Formular erstellen


Aufbau eines Formulars

Jedes Formular in AnsibleForms wird mit einer Reihe von Eigenschaften konfiguriert. Gemeinsame Eigenschaften listet die Eigenschaften auf, die für alle Formulartypen gelten; die typspezifischen Seiten beschreiben die zusätzlichen.


Wie Formulare geladen werden

AnsibleForms lädt Formulare von folgenden Orten:

  1. AUS REPOSITORIES : alle Repositories, bei denen der Schalter „Für Formulare verwenden“ aktiviert ist (mehrere Repositories werden unterstützt)
    • Formulare aus allen aktivierten Repositories werden automatisch zusammengeführt.
    • In jedem Repository wird zuerst nach einem Unterordner forms/ gesucht.
    • Gibt es keinen Unterordner forms/, wird das Stammverzeichnis des Repositorys verwendet.
    • Formulare, die im Designer erstellt und noch nicht gepusht wurden, liegen in einem Staging-Ordner (FORMS_STAGING_PATH) und werden mit ihnen geladen.
  2. AUS DEM LOKALEN ORDNER : der lokale Ordner forms/ (FORMS_FOLDER_PATH), wenn bei keinem Repository „Für Formulare verwenden“ aktiviert ist

Hinweis: Ist „Für Formulare verwenden“ bei mehreren Repositories aktiviert, werden alle ihre Formulare zusammengeführt. Formularnamen müssen über alle Repositories hinweg eindeutig sein, um Konflikte zu vermeiden.


Wo ein Formular läuft

Der Typ eines Formulars bestimmt die Art von Runner, auf dem sein Job läuft: ein RTE für ansible, ein AWX-Runner für awx, aap und ascender und ein Runner des eigenen Typs für semaphore, rundeck und jenkins.

  • runner: <name> am Formular wählt einen Runner dieses Typs nach Namen; ohne diese Angabe läuft der Job auf dem Standard-Runner des Typs.
  • Ein unter Verbindungen > Runner deaktivierter Runner lässt den Job fehlschlagen, egal ob das Formular ihn nennt oder er der Standard ist. Der Job weicht nie auf einen anderen Runner aus.
  • Wenn eine der Rollen des Benutzers in config.yaml die Liste runners enthält, darf der Job nur auf einem Runner laufen, den eine solche Rolle aufführt, sonst wird er abgelehnt. Rollen ohne diese Liste begrenzen nichts, und ein Admin wird nie begrenzt.

In diesem Abschnitt

Die folgenden Seiten beschreiben die Formulareigenschaften im Detail:

Seite Inhalt
Gemeinsame Eigenschaften Eigenschaften, die für alle Formulartypen gelten (name, description, help, type, fields)
Ansible-Formulare Eigenschaften speziell für type: ansible
AWX-Formulare Eigenschaften speziell für type: awx
Semaphore-Formulare Eigenschaften speziell für type: semaphore, das eine Semaphore-Vorlage ausführt
Rundeck-Formulare Eigenschaften speziell für type: rundeck, das einen Rundeck-Job ausführt
Jenkins-Formulare Eigenschaften speziell für type: jenkins, das einen Jenkins-Job baut
Mehrstufige Formulare Eigenschaften speziell für type: multistep, veraltet zugunsten von workflow
Workflow-Formulare Eigenschaften speziell für type: workflow, das einen Workflow ausführt
Wizard Die Eingaben eines Formulars auf mehrere Seiten verteilen (funktioniert mit jedem ausführbaren Formulartyp)
Unterformular Unterformulare verwenden nur die gemeinsamen Eigenschaften
Genehmigungspunkte Einen Job anhalten, bis er genehmigt wird (approval)
Benachrichtigungen E-Mails und Kanalnachrichten bei Jobstatus oder Ereignissen senden (notifications)
Aktionen bei Jobstatus Auf dem Formular reagieren, wenn ein Job seinen Status ändert (onSubmit, onSuccess, …)