Condividi tramite


Webhook di App Center

Importante

Visual Studio App Center è previsto per il ritiro il 31 marzo 2025. Anche se è possibile continuare a usare Visual Studio App Center fino a quando non viene completamente ritirato, esistono diverse alternative consigliate che è possibile considerare la migrazione a.

Altre informazioni sulle sequenze temporali di supporto e sulle alternative.

Panoramica

I webhook sono un modo semplice per notificare applicazioni di terze parti quando si è verificato un evento specificato. L'obiettivo principale dei webhook è comunicare informazioni importanti da App Center agli utenti anziché venire al portale o eseguire chiamate API per ricevere una notifica quando si verificano determinati eventi.

I webhook di App Center consentono agli utenti di inviare notifiche automatiche alle applicazioni connesse per gli eventi seguenti:

  • Build:

    • Esito positivo della compilazione:

      • Sempre: quando l'app viene compilata correttamente
      • Solo se in precedenza non è riuscita: quando l'app è stata compilata correttamente dopo una o più build non riuscite
      • Mai: non si riceveranno notifiche per l'esito positivo della compilazione
    • Errore di compilazione:

      • Sempre: quando l'app non riesce a compilare
      • Solo se in precedenza ha esito positivo: quando l'app non è riuscita a compilare dopo una o più compilazioni riuscite
      • Mai: non si riceveranno notifiche per l'errore di compilazione
  • Arresti anomali: quando viene creato un gruppo di arresti anomali

  • Distribuire: quando una nuova versione viene rilasciata a un gruppo di distribuzione

    Nota

    Per Distribuisci, il webhook verrà attivato quando viene rilasciata una nuova versione a un gruppo di distribuzione. Se è stata verificata la mancata notifica ai tester nel passaggio Revisione della creazione di una nuova versione, il webhook non verrà attivato. Per Diagnostica, il webhook verrà attivato per i nuovi gruppi di errori con simboli forniti. Se non vengono trovati simboli per il nuovo gruppo di errori, il webhook non verrà generato.

App Center invierà un payload HTTP POST all'URL specificato del webhook. I webhook sono configurati a livello di app nella pagina Impostazioni dell'app specificata. Gli utenti devono disporre delle autorizzazioni di gestione o sviluppatore nell'app per creare e configurare i webhook. Attualmente sono supportati solo webhook per Slack e Microsoft Teams. Per pubblicare altre piattaforme, è possibile scrivere una funzione di Azure che converte il modo POST in cui è possibile soddisfare i requisiti della piattaforma.

Introduzione

  1. Passare a App Center e selezionare l'app specifica desiderata per l'integrazione dei webhook.

  2. Nell'app, nel pannello a sinistra lontano selezionare Impostazioni

  3. Nel pannello di righe denominato Webhook passare all'angolo destro e fare clic sull'icona a forma di matita, che visualizza il pannello Webhook.

    Come modificare le impostazioni del webhook

  4. Nell'angolo in alto a destra fare clic sul pulsante Webhook blu e immettere:

    • Nome webhook

    • URL webhook

      È possibile ottenere l'URL del webhook dalle impostazioni dell'applicazione integrata( ad esempio, ecco i dettagli su come ottenere l'URL webhook da Microsoft Teams e come ottenere l'URL del webhook da Slack).

      Selezionare l'elenco a discesa per Le notifiche di stato di compilazione e la casella di controllo Arresti anomali e Distribuire notifiche per decidere quali eventi attiveranno gli avvisi del webhook.

      Come creare un nuovo webhook

  5. La procedura è stata completata. Il webhook viene ora creato e abilitato. È possibile creare più webhook ripetendo il passaggio 4.

  6. Attivare o disattivare la mano estrema destra del webhook per testare, disabilitare o eliminare il webhook.

    • test invierà un avviso di test all'applicazione connessa.
    • disable mantiene inattivo il webhook ma presente nel dashboard.
    • delete rimuoverà il webhook dal dashboard.

Quando questi eventi si verificano, le notifiche di App Center vengono pubblicate nelle applicazioni integrate. Ecco ad esempio come una notifica di esito positivo della compilazione è simile a un'applicazione Slack connessa:

Compilare una notifica di esito positivo in Slack

Payload webhook di esempio

Ecco alcuni esempi del payload del webhook JSON per:

  1. Compilazione
{
  "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. Arresto anomalo
{
  "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. Distribuzione
{
  "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"
}

È anche possibile controllare il payload usando RequestBin. A tale scopo, passare a RequestBin, fare clic su Crea un RequestBin e quindi copiare l'URL generato in BIN URL e incollare l'URL come webhook in App Center.

Supporto webhook personalizzato

Per pubblicare altre piattaforme, è possibile scrivere una funzione di Azure che converte il modo in cui è POST possibile soddisfare i requisiti della piattaforma. A tale scopo, creare una funzione di Azure, incollare l'URL nel campo URL webhook nel passaggio 4 e App Center posterà il payload del webhook a tale endpoint. È quindi possibile modificare il payload ai requisiti della piattaforma.