Share via


App Center Webhooks

Important

Visual Studio App Center doit être mis hors service le 31 mars 2025. Bien que vous puissiez continuer à utiliser Visual Studio App Center jusqu’à ce qu’il soit entièrement mis hors service, il existe plusieurs alternatives recommandées vers lesquelles vous pouvez envisager de migrer.

En savoir plus sur les chronologies et les alternatives de support.

Vue d’ensemble

Les webhooks sont un moyen simple d’informer les applications tierces lorsqu’un événement spécifié s’est produit. L’objectif main des webhooks est de communiquer des informations importantes d’App Center aux utilisateurs plutôt que de faire venir les utilisateurs sur le portail ou d’exécuter des appels d’API pour être avertis lorsque certains événements se produisent.

Les webhooks d’App Center permettent aux utilisateurs d’envoyer des notifications automatiques aux applications connectées pour les événements suivants :

  • Build :

    • Réussite de la génération :

      • Always : quand votre application est générée avec succès
      • Uniquement en cas d’échec précédemment : lorsque votre application a réussi à être générée après l’échec d’une ou plusieurs builds
      • Jamais : vous ne recevrez pas de notifications pour la réussite de la build
    • Échec de build :

      • Toujours : quand votre application ne parvient pas à générer
      • Uniquement en cas de réussite : lorsque votre application n’a pas pu générer après une ou plusieurs builds réussies
      • Jamais : vous ne recevrez pas de notifications en cas d’échec de build
  • Blocages : lors de la création d’un groupe d’incidents

  • Distribuer : lorsqu’une nouvelle version est publiée dans un groupe de distribution

    Notes

    Pour Distribuer, le webhook est déclenché lorsqu’une nouvelle version est publiée dans un groupe de distribution. Si vous avez vérifié ne pas notifier les testeurs à l’étape Vérifier la création d’une version, le webhook ne se déclenche pas. Pour Diagnostics, le webhook est déclenché pour les nouveaux groupes d’erreurs avec des symboles fournis. Si aucun symbole n’est trouvé pour le nouveau groupe d’erreurs, le webhook ne se déclenche pas.

App Center envoie une charge utile HTTP POST à l’URL spécifiée du webhook. Les webhooks sont configurés au niveau de l’application dans la page Paramètres de votre application spécifiée. Les utilisateurs doivent disposer d’autorisations de gestionnaire ou de développeur dans l’application pour créer et configurer les webhooks. Actuellement, nous prenons uniquement en charge les webhooks pour Slack et Microsoft Teams. Pour publier sur d’autres plateformes, vous pouvez écrire une fonction Azure qui traduit la façon dont nous répondons POST aux exigences de la plateforme.

Mise en route

  1. Accédez à App Center, puis sélectionnez l’application spécifique que vous souhaitez pour l’intégration des webhooks.

  2. Dans votre application, dans le panneau situé à l’extrême gauche, sélectionnez Paramètres

  3. Dans le panneau de lignes intitulé Webhooks, accédez au coin droit et cliquez sur l’icône de crayon, qui fait apparaître le panneau Webhooks .

    Comment modifier les paramètres du webhook

  4. Dans le coin supérieur droit, cliquez sur le bouton bleu Nouveau webhook et entrez :

  5. Vous avez terminé. Votre webhook est maintenant créé et activé. Vous pouvez créer plusieurs webhooks en répétant l’étape 4.

  6. Basculez vers l’extrême droite du webhook pour tester, désactiver ou supprimer le webhook.

    • test envoie une alerte de test à votre application connectée.
    • disable maintient le webhook inactif, mais présent dans votre tableau de bord.
    • supprimer supprime le webhook de votre tableau de bord.

Lorsque ces événements se produisent, les notifications App Center sont publiées dans vos applications intégrées. Par exemple, voici à quoi ressemble une notification de réussite de build avec une application Slack connectée :

Générer une notification de réussite sur Slack

Exemple de charge utile de webhook

Voici des exemples de la charge utile du webhook JSON pour :

  1. Build
{
  "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. Se bloquer
{
  "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":"48573473-f069-4715-8bab-9ae42cec48b2"
}
  1. Distribuer
{
  "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":"f37c6194-9ac9-4504-be61-55re334r5649"
}

Vous pouvez également inspecter la charge utile à l’aide de RequestBin. Pour ce faire, accédez à RequestBin, cliquez sur Créer une requêteBin, puis copiez l’URL générée sous URL de bin et collez l’URL en tant que webhook dans App Center.

Prise en charge du webhook personnalisé

Pour publier sur d’autres plateformes, vous pouvez écrire une fonction Azure qui traduit la façon dont nous répondons POST aux exigences de la plateforme. Pour ce faire, créez une fonction Azure, collez l’URL sous le champ URL du webhook à l’étape 4. App Center publie la charge utile du webhook sur ce point de terminaison. Vous pouvez ensuite modifier la charge utile pour qu’elle corresponde aux exigences de la plateforme.