Änderungen pullen

Geplante, manuelle und API-Pulls, und lokale Änderungen

  1. Änderungen pullen
    1. Aus einer Pipeline oder einem Webhook pullen
    2. Lokale Änderungen

Änderungen pullen

Ein Repository wird nach seinem Zeitplan, beim Start, von der Seite aus oder über die API gepullt; es gibt keinen Webhook-Endpunkt.

Auslöser Wie
Zeitplan Geplanten Pull aktivieren und ein Pull-Zeitplan, zum Beispiel 0 * * * * für jede Stunde
Start Beim Start der App pullen klont das Repository oder pullt es, wenn es schon geklont ist
Einstellungsseite Pull im Zeilenmenü oder Alle pullen über der Liste
Designer Laden (Repository), das die Formular-Repositories pullt und den Designer neu lädt; auch das Übernehmen der Designer-Sperre pullt zuerst jedes Formular-Repository
API POST /api/v2/repository/<name>/pull (showSettings oder showConnectionsSettings) oder POST /api/v2/forms-repos/pull/<name> (siehe unten)

Aus einer Pipeline oder einem Webhook pullen

AnsibleForms hat keinen eigenen Webhook-Empfänger, aber ein CI-Job oder ein Webhook des git-Servers kann den Pull-Endpunkt aufrufen.

curl -X POST -H "Authorization: Bearer $TOKEN" https://af.example.com/api/v2/repository/forms/pull

Erstellen Sie das Token wie unter API-Tokens beschrieben, für einen Benutzer, dessen Rolle showSettings oder showConnectionsSettings hat. /api/v2/forms-repos/pull/<name> braucht stattdessen showDesigner und allowFormDesign, bei eingeschaltetem Designer (SHOW_DESIGNER). GET /api/v2/repository/<name> liefert head, status und output, sodass eine Pipeline prüfen kann, welchen Commit die Instanz nach einem Pull ausführt.

Lokale Änderungen

Ein Pull überschreibt nie Arbeit, die noch nicht gepusht ist, daher prüft ein geplanter Pull die Arbeitskopie, bevor er läuft.

Ein geplanter Pull wird übersprungen, solange die Arbeitskopie nicht committete Änderungen oder nicht gepushte Commits hat und solange ein Designer die Designer-Sperre hält. Ein manueller Pull einer Arbeitskopie mit kollidierenden Änderungen schlägt fehl mit:

Repository '<name>' has local changes that block the pull. Use 'Save (repository)' to push them first, or discard them.

Pushen Sie die Änderungen oder verwerfen Sie sie mit Zurücksetzen im Zeilenmenü, das die Arbeitskopie löscht und neu klont.