Das folgende Skript startet den Scan für Ihr Projekt und fragt regelmäßig den Status des Scans ab. Wenn der Scan abgeschlossen ist, wird der Bericht in die Datei report.xml heruntergeladen.
Für die folgenden Beispiele gehen wir davon aus, dass Sie diese Datei als
./start_crashtest.sh
#!/usr/bin/env sh
# TODO: Set WEBHOOK to webhook ID (without URL)
WEBHOOK="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
API_ENDPOINT="https://api.crashtest.cloud/webhook"
# Start Scan and get scan ID
SCAN_ID=`curl --silent -X POST --data "" $API_ENDPOINT/$WEBHOOK | jq .data.scanId`
echo "Started Scan for Webhook $WEBHOOK. Scan ID is $SCAN_ID."
# Refresh Scan status
STATUS="100"
while [[ $STATUS -le "101" ]]
do
echo "Scan Status currently is $STATUS (101 = Running)"
# Only poll every minute
sleep 60
# Refresh status
STATUS=`curl --silent $API_ENDPOINT/$WEBHOOK/scans/$SCAN_ID/status | jq .data.status.status_code`
done
echo "Scan finished with status $STATUS."
# Download Report
curl --silent $API_ENDPOINT/$WEBHOOK/scans/$SCAN_ID/report/junit -o report.xml
echo "Downloaded Report to report.xml"
Bitte lesen Sie für andere Webhook-Funktionen (z. B. die Konfiguration der Authentifizierung) diesen Artikel.
Was ist ein Webhook?
Ein Webhook ist eine Art von API, die es Anwendungen ermöglicht, über das Internet miteinander zu kommunizieren. Im Gegensatz zu herkömmlichen APIs müssen Entwickler bei Webhooks jedoch keinen separaten Aufruf tätigen, um die Kommunikation einzuleiten. Stattdessen ermöglichen Webhooks Programmen den automatischen Austausch von Informationen auf der Grundlage eines auslösenden Ereignisses.
Webhooks waren ursprünglich eine Möglichkeit für GitHub, Anwendungen von Drittanbietern über Änderungen in der Repository-Aktivität zu informieren. Wenn zum Beispiel jemand Code in ein Repository einbringt, sendet GitHub einen Webhook an die Anwendung. Dadurch erfährt der Entwickler, dass etwas Wichtiges im Repository passiert ist, z. B. dass ein Commit in den Hauptzweig verschoben wurde.
Das Konzept hinter Webhooks ähnelt einer umgekehrten API, bei der ein Client eine Anfrage an einen Server sendet. Im Gegensatz zu einer Standard-API ermöglichen Webhooks es den Servern, Nachrichten an die Clients zu senden, und nicht umgekehrt.
Wie verwendet man Webhooks?
Webhooks gehören zu den Dingen, die für Unkundige wie Magie erscheinen. Aber wenn Sie sie erst einmal kennengelernt haben, werden Sie feststellen, dass sie ziemlich einfach sind. Einige von ihnen kennen Sie wahrscheinlich schon. Wenn sich zum Beispiel jemand in Ihre E-Mail-Liste einträgt, schicken Sie ihm eine E-Mail mit den Worten: „Hey, ich schicke dir etwas!“ Und das ist ein Webhook.
Sie haben wahrscheinlich schon gesehen, dass Webhooks in Marketing-E-Mails verwendet werden, in denen Sie sich für einen Newsletter anmelden oder sich für ein kostenloses Angebot entscheiden. Wenn sich jemand in Ihre Mailingliste einträgt, schicken Sie ihm eine Benachrichtigung, dass Sie ihm etwas geschickt haben. Das ist ein Webhook. Wenn Sie eine mobile App entwickeln möchten, mit der Sie den Standort Ihrer Kunden verfolgen können, könnten Sie einen Webhook einrichten, der Sie benachrichtigt, wenn sie einen bestimmten Bereich betreten. Das ist ein weiterer Webhook.
Kurz gesagt: Webhooks sind Ereignisse, die durch Aktionen auf Ihrer Website ausgelöst werden. Sie ermöglichen es Entwicklern, Anwendungen zu verbinden, ohne Code schreiben zu müssen. Es gibt viele verschiedene Arten von Webhooks, darunter solche, die Ihnen mitteilen, wenn eine bestimmte Aktion stattfindet, z. B. wenn jemand ein Produkt in den Warenkorb legt; andere, die Sie benachrichtigen, wenn eine Person Informationen in einem Formular ändert, z. B. wenn jemand seinen Namen oder seine Adresse eingibt; und wieder andere, die eine Aktion auslösen, wenn eine Änderung eintritt, z. B. wenn jemand einen Kommentar abgibt.
Das Wichtigste bei Webhooks sind ereignisbasierte Benachrichtigungen. Das bedeutet, dass sie in der Regel asynchron sind, d. h. sie blockieren nicht den Hauptausführungsstrang, während sie auf die Antwort warten. Daher können Sie sie sofort nach dem Empfang verarbeiten.
Wenn Sie einen Webhook erhalten, gibt es drei gängige Möglichkeiten, darauf zu reagieren:
- Senden Sie eine Antwort direkt an den Absender des Webhooks
- Das Ereignis protokollieren und später eine Antwort senden