App Center Webhooks

Importante

O Visual Studio App Center está programado para ser desativado em 31 de março de 2025. Embora você possa continuar a usar o Visual Studio App Center até que ele seja totalmente desativado, há várias alternativas recomendadas para as quais você pode considerar migrar.

Saiba mais sobre linhas do tempo e alternativas de suporte.

Visão geral

Webhooks são uma maneira simples de notificar aplicativos de terceiros quando um evento especificado ocorreu. O main objetivo dos webhooks é comunicar informações importantes do App Center para os usuários, em vez de fazer com que os usuários venham ao portal ou executem chamadas à API para serem notificados quando determinados eventos ocorrerem.

Os webhooks do App Center permitem que os usuários enviem notificações automáticas para aplicativos conectados para os seguintes eventos:

  • Build:

    • Êxito na compilação:

      • Sempre: quando seu aplicativo é compilado com êxito
      • Somente se tiver falhado anteriormente: quando o aplicativo tiver sido criado com êxito após um ou mais builds com falha
      • Nunca: você não receberá notificações para êxito na compilação
    • Falha de build:

      • Sempre: quando seu aplicativo falha ao compilar
      • Somente se tiver êxito anteriormente: quando o aplicativo falhou ao compilar após um ou mais builds bem-sucedidos
      • Nunca: você não receberá notificações de falha de build
  • Falhas: quando um grupo de falhas é criado

  • Distribuir: quando uma nova versão é lançada para um grupo de distribuição

    Observação

    Para Distribuir, o webhook será disparado quando uma nova versão for lançada em um grupo de distribuição. Se você verificou não notificar testadores na etapa Revisão da criação de uma nova versão, o webhook não será acionado. Para Diagnóstico, o webhook será disparado para novos grupos de erros com símbolos fornecidos. Se nenhum símbolo for encontrado para o novo grupo de erros, o webhook não será acionado.

O App Center enviará um conteúdo HTTP POST para a URL especificada do webhook. Os webhooks são configurados no nível do aplicativo na página Configurações do aplicativo especificado. Os usuários devem ter permissões de gerente ou desenvolvedor no aplicativo para criar e configurar os webhooks. Atualmente, só damos suporte a webhooks para Slack e Microsoft Teams. Para postar em outras plataformas, você pode escrever uma função do Azure que traduza a maneira como nos adaptamos POST aos requisitos da plataforma.

Introdução

  1. Navegue até o App Center e selecione o aplicativo específico que você deseja para a integração de webhooks.

  2. Em seu aplicativo, no painel à esquerda, selecione Configurações

  3. No painel de linhas intitulado Webhooks, vá para o canto direito e clique no ícone de lápis, que abre o painel Webhooks .

    Como editar as configurações do webhook

  4. No canto superior direito, clique no botão azul Novo Webhook e insira:

    • Nome do webhook

    • URL de Webhook

      Você pode obter a URL do webhook das configurações do aplicativo integrado (por exemplo, aqui estão detalhes sobre como obter a URL do webhook do Microsoft Teams e como obter a URL do webhook do Slack).

      Selecione a lista suspensa para Compilar status notificações e a caixa de seleção Falhas e Distribuir notificações para decidir quais eventos dispararão os alertas do webhook.

      Como criar um novo webhook

  5. Feito! Seu webhook agora está criado e habilitado. Você pode criar vários webhooks repetindo a etapa 4.

  6. Alterne para a extrema direita do webhook para testar, desabilitar ou excluir o webhook.

    • O teste enviará um alerta de teste para seu aplicativo conectado.
    • disable mantém o webhook inativo, mas presente no dashboard.
    • delete removerá o webhook do dashboard.

Quando esses eventos acontecem, as notificações do App Center são postadas em seus aplicativos integrados. Por exemplo, veja como é a aparência de uma notificação de êxito de build com um aplicativo slack conectado:

Criar notificação de êxito no Slack

Conteúdo de webhook de exemplo

Aqui estão exemplos do conteúdo do webhook JSON para:

  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. Falha
{
  "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. Distribuir
{
  "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"
}

Você também pode inspecionar o conteúdo usando RequestBin. Para fazer isso, navegue até RequestBin, clique em Criar um RequestBin e copie a URL gerada em URL bin e cole a URL como um webhook no App Center.

Suporte a webhook personalizado

Para postar em outras plataformas, você pode escrever uma função do Azure que traduza a maneira como nos adaptamos POST aos requisitos da plataforma. Para fazer isso, crie uma função do Azure, cole a URL no campo URL do Webhook na etapa 4 e o App Center postará o conteúdo do webhook nesse ponto de extremidade. Em seguida, você pode modificar o conteúdo para os requisitos da plataforma.