Share via


Webhooks

Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019

Os webhooks permitem enviar uma representação JSON de um evento para qualquer serviço. Tudo o que é necessário é um ponto final público (HTTP ou HTTPS).

Para obter mais informações sobre os payloads JSON publicados por este consumidor, veja Eventos.

Pré-requisitos

Somente os Proprietários da organização ou os Administradores da Coleção de Projetos podem gerenciar webhooks para uma organização.

Enviar representação JSON para um serviço

  1. Vá para a página de ganchos de serviço do projeto:

    https://{orgName}/{project_name}/_settings/serviceHooks

    Captura de ecrã da versão mais recente da página de administração do projeto

    Selecione Criar assinatura.

  2. Selecione e configure o evento Azure DevOps Services:

    Configurar a caixa de diálogo do evento

  3. Configure o que fazer quando o evento ocorrer:

    Consulte as seguintes configurações de Q & A para obter informações sobre os detalhes do recurso a enviar, Mensagens a enviar e Mensagens detalhadas a enviar .

    Configurar a caixa de diálogo de ação

  4. Teste a assinatura do gancho de serviço e conclua o assistente:

    Testar

Agora o webhook está configurado. Vá para o serviço de destino para visualizar a representação JSON:

Exibir a representação JSON

Preços

O Azure DevOps não cobra pela estrutura para integração com serviços externos. Consulte o site do serviço específico para saber os preços relacionados com os seus serviços.

Perguntas e Respostas

P: Quais são os detalhes do recurso a enviar, as Mensagens a enviar e as mensagens detalhadas para as quais enviar definições?

R: Eles controlam o tamanho da carga JSON que é enviada.

A configuração Detalhes do recurso a ser enviado controla a quantidade do recurso enviada. O padrão é Todos, mas você também pode optar por enviar Mínimo (envia apenas campos de chave como URL e ID) ou Nenhum.

Nenhum e Mínimo são úteis em cenários em que o chamador realmente não precisa de muito, ou nada, sobre o recurso porque está confiando na mensagem ou mensagem detalhada. Nenhum e Mínimo também são úteis por motivos de segurança, por exemplo, o chamador precisa ligar de volta para os Serviços de DevOps do Azure e passar por verificações normais de segurança/permissão para obter mais detalhes sobre o recurso.

Exemplo de JSON:

	{
	    "eventType": "git.push",
	    ...
	    "messages": {
	        "text": "...",
	        "html": "...",
	        "markdown": "..."
	    },
	    "detailedMessage": {
	        "text": "...",
	        "html": "...",
	        "markdown": "..."
	    },
	    "resource": {
	        "id": "...",
	        "url": "https://...",
	        "name": "...",
	        "field1:": "..."
	    }
	}	

P: Posso criar subscrições programaticamente?

R: Sim, veja os detalhes aqui.

P: Posso enviar webhooks para pontos de extremidade não HTTPS?

R: Sim. No entanto, é recomendável que você use apenas pontos de extremidade HTTPS para seus webhooks. Usar HTTP significa que há um potencial para dados privados serem enviados sem criptografia. Isso inclui quaisquer cabeçalhos de autenticação em seu webhook.

P: Posso usar a autenticação básica ao configurar um webhook que não seja HTTPS?

R: Não. Você deve usar HTTPS ao utilizar a autenticação básica em um webhook.

P: Podemos usar localhost ou IPs de alcance especial como alvos webhook?

R: Não. Os Webhooks não podem ter como alvo endereços IPv6 IPv4/de alcance local (loopback) ou de intervalo especial.