Freigeben über


App Center-Webhooks

Wichtig

Visual Studio App Center wird am 31. März 2025 eingestellt. Sie können Visual Studio App Center zwar weiterhin verwenden, bis es vollständig eingestellt ist, es gibt jedoch mehrere empfohlene Alternativen, zu denen Sie möglicherweise eine Migration in Erwägung ziehen.

Erfahren Sie mehr über Supportzeitpläne und Alternativen.

Überblick

Webhooks sind eine einfache Möglichkeit, Drittanbieteranwendungen zu benachrichtigen, wenn ein angegebenes Ereignis aufgetreten ist. Das Standard Ziel von Webhooks besteht darin, wichtige Informationen aus dem App Center an Benutzer zu kommunizieren, anstatt benutzer zum Portal zu kommen oder API-Aufrufe auszuführen, um bei bestimmten Ereignissen benachrichtigt zu werden.

Die Webhooks von App Center ermöglichen es Benutzern, automatische Benachrichtigungen an verbundene Anwendungen für die folgenden Ereignisse zu senden:

  • Build:

    • Erfolg:

      • Immer: Wenn Ihre App erfolgreich erstellt wird
      • Nur wenn zuvor ein Fehler aufgetreten ist: wenn Ihre App nach einem oder mehreren fehlerhaften Builds erfolgreich erstellt wurde
      • Nie: Sie erhalten keine Benachrichtigungen für den Builderfolg
    • Buildfehler:

      • Immer: Wenn Ihre App nicht erstellt werden kann
      • Nur, wenn zuvor erfolgreich war: wenn ihre App nach einem oder mehreren erfolgreichen Builds nicht mehr erstellt werden konnte
      • Nie: Sie erhalten keine Benachrichtigungen für Buildfehler.
  • Abstürze: Wenn eine Absturzgruppe erstellt wird

  • Verteilen: Wenn eine neue Version für eine Verteilergruppe veröffentlicht wird

    Hinweis

    Bei Distribute wird der Webhook ausgelöst, wenn eine neue Version für eine Verteilergruppe freigegeben wird. Wenn Sie im Schritt Überprüfen beim Erstellen einer neuen Version keine Tester benachrichtigen aktiviert haben, wird der Webhook nicht ausgelöst. Für diagnose wird der Webhook für neue Fehlergruppen mit bereitgestellten Symbolen ausgelöst. Wenn keine Symbole für die neue Fehlergruppe gefunden werden, wird der Webhook nicht ausgelöst.

App Center sendet eine HTTP POST-Nutzlast an die angegebene URL des Webhooks. Webhooks werden auf App-Ebene auf der Seite Einstellungen der angegebenen App konfiguriert. Benutzer müssen über Manager- oder Entwicklerberechtigungen in der App verfügen, um die Webhooks zu erstellen und zu konfigurieren. Derzeit unterstützen wir nur Webhooks für Slack und Microsoft Teams. Um Beiträge auf anderen Plattformen zu veröffentlichen, können Sie eine Azure-Funktion schreiben, die die Art und Weise übersetzt, in der wir POST die Anforderungen der Plattform erfüllen.

Erste Schritte

  1. Navigieren Sie zu App Center, und wählen Sie die gewünschte App für die Webhooksintegration aus.

  2. Wählen Sie in Ihrer App ganz links die Option Einstellungen aus.

  3. Wechseln Sie im Zeilenbereich mit dem Titel Webhooks zur rechten Ecke, und klicken Sie auf das Stiftsymbol, das den Webhooksbereich öffnet.

    So bearbeiten Sie die Einstellungen des Webhooks

  4. Klicken Sie in der oberen rechten Ecke auf die blaue Schaltfläche Neuer Webhook , und geben Sie Folgendes ein:

    • Webhookname

    • Webhook-URL

      Sie können die Webhook-URL aus den Einstellungen Ihrer integrierten Anwendung abrufen (hier finden Sie z. B. Details zum Abrufen der Webhook-URL von Microsoft Teams und zum Abrufen der Webhook-URL von Slack).

      Wählen Sie die Dropdownliste für Benachrichtigungen erstellen status und das Kontrollkästchen Abstürze und Benachrichtigungen verteilen aus, um zu entscheiden, welche Ereignisse die Webhookwarnungen auslösen.

      Erstellen eines neuen Webhooks

  5. Das war's! Ihr Webhook ist jetzt erstellt und aktiviert. Sie können mehrere Webhooks erstellen, indem Sie Schritt 4 wiederholen.

  6. Schalten Sie auf die äußerste rechte Seite des Webhooks um, um den Webhook zu testen, zu deaktivieren oder zu löschen .

    • test sendet eine Testwarnung an Ihre verbundene Anwendung.
    • disable hält den Webhook inaktiv, aber in Ihrem Dashboard vorhanden.
    • delete entfernt den Webhook aus Ihrem Dashboard.

Wenn diese Ereignisse auftreten, werden App Center-Benachrichtigungen an Ihre integrierten Anwendungen gesendet. Hier sehen Sie beispielsweise, wie eine Builderfolgsbenachrichtigung mit einer verbundenen Slack-Anwendung aussieht:

Erstellen einer Erfolgsbenachrichtigung für Slack

Beispiel für Webhooknutzlast

Hier finden Sie Beispiele für die JSON-Webhooknutzlast für:

  1. Entwickeln
{
  "app_name": "myFirstApp",
  "branch": "main",
  "build_status": "Succeeded",
  "build_id": "33",
  "build_link": "https://appcenter.ms/users/{user-id}/apps/{app-name}/build/branches/main/builds/33",
  "build_reason": "manual",
  "finish_time": "2018-06-14T23:59:05.2542221Z",
  "icon_link": "https://appcenter-filemanagement-distrib4ede6f06e.azureedge.net/f7794e4c-42f1-4e7c-8013-07ed2e1b733d/ic_launcher.png?sv=2020-02-18&sr=c&sig=gs4JfcWjpKeYH%2F%2Fg0jEtSKKbeRkug9q%2FldslmzzeOg0%3D&se=2020-02-26T08%3A57%3A58Z&sp=r",
  "notification_settings_link": "https://appcenter.ms/users/{user-id}/apps/{app-name}/settings/notifications",
  "os": "iOS",
  "start_time": "2018-06-14T23:57:03.4379381Z",
  "source_version": "55820a357ba26831f2eeb3be9973a4ef20618b73",
  "sent_at": "2018-06-14T23:59:08.4897604Z"
}
  1. Absturz
{
  "id":"3698593379u",
  "name":"android.app.Activity.performResume (Activity.java:5084)",
  "reason":"android.app.SuperNotCalledException",
  "url":"https://appcenter.ms/orgs/{org-id}/apps/{app-name}/crashes/errors/3698273379u",
  "app_display_name":"{app-name}",
  "app_platform":"Java",
  "app_version":"2.0.1(42)",
  "stack_trace":[],
  "affected_users":0,
  "crash_count":0,
  "sent_at":"2019-05-16T23:47:31.4881512Z",
  "app_id":"00001111-aaaa-2222-bbbb-3333cccc4444"
}
  1. Verteilen
{
  "app_name":"{app-name}",
  "app_display_name":"{app-display-name}",
  "release_id":"123",
  "platform":"Android",
  "uploaded_at":"2018-07-17T20:46:14Z",
  "fingerprint":"0abed1269e4ae3bf524e4cc7165f4f34",
  "release_notes":"",
  "version":"74",
  "short_version":"1.7.0",
  "min_os":"4.0.3",
  "mandatory_update":true,
  "size":2634279,
  "provisioning_profile_name":null,
  "provisioning_profile_type":null,
  "bundle_identifier":"com.microsoft.appcenter.test",
  "install_link":"https://install.appcenter.ms/orgs/{org-name}/apps/{app-name}/releases/123?source=email",
  "icon_link":"https://appcenter-filemanagement-distrib4ede6f06e.azureedge.net/f7794e4c-42f1-4e7c-8013-07ed2e1b733d/ic_launcher.png?sv=2020-02-18&sr=c&sig=gs4JfcWjpKeYH%2F%2Fg0jEtSKKbeRkug9q%2FldslmzzeOg0%3D&se=2020-02-26T08%3A57%3A58Z&sp=r",
  "distribution_group_id":"1a5a0605-4b9c-4de2-9a35-t569456df0cc",
  "installable":true,
  "sent_at":"2019-05-16T23:20:08.7799314Z",
  "app_id":"11112222-bbbb-3333-cccc-4444dddd5555"
}

Sie können die Nutzlast auch mithilfe von RequestBin untersuchen. Navigieren Sie dazu zu RequestBin, klicken Sie auf RequestBin erstellen, kopieren Sie dann die generierte URL unter Bin-URL , und fügen Sie die URL als Webhook in App Center ein.

Unterstützung benutzerdefinierter Webhook

Um Beiträge auf anderen Plattformen zu veröffentlichen, können Sie eine Azure-Funktion schreiben, die die Art und Weise übersetzt, in der wir POST die Anforderungen der Plattform erfüllen. Erstellen Sie dazu eine Azure-Funktion, fügen Sie die URL in das Feld Webhook-URL in Schritt 4 ein, und App Center postest die Webhooknutzlast an diesen Endpunkt. Anschließend können Sie die Nutzlast an die Anforderungen der Plattform anpassen.