Examinar webhooks
Você pode automatizar a inicialização de um runbook agendando-o ou usando um webhook.
Um webhook permite que você inicie um runbook específico na Automação do Azure por meio de uma única solicitação HTTPS.
Ele permite que serviços externos, como Azure DevOps, GitHub ou aplicativos personalizados, iniciem runbooks sem implementar soluções mais complexas usando a API de Automação do Azure.
Mais informações sobre webhooks estão disponíveis em Iniciando um runbook de Automação do Azure com um webhook.
Criar um webhook
Você cria um webhook vinculado a um runbook usando as seguintes etapas:
- No portal do Azure, abra o runbook que você deseja criar o webhook.
- No painel runbook, em Recursos, selecione Webhooks e, em seguida, escolha Add webhook.
- Selecione Criar novo webhook.
- Na caixa de diálogo Criar novo webhook, há vários valores que você precisa configurar. Depois de configurá-los, selecione Criar:
- Nome. Especifique qualquer nome desejado para um webhook porque o nome não está exposto ao cliente. Só é utilizado para identificar o runbook na Automatização do Azure.
- Habilitado. Um webhook é ativado por padrão quando é criado. Se você defini-lo como Desativado, nenhum cliente poderá usá-lo.
- Caduca. Cada webhook tem uma data de validade, momento em que não pode mais ser usado. Você pode continuar a modificar a data depois de criar o webhook, desde que o webhook não tenha expirado.
- URL. A URL do webhook é o endereço exclusivo que um cliente chama com um HTTP POST para iniciar o runbook vinculado ao webhook. Ele é gerado automaticamente quando você cria o webhook e não é possível especificar uma URL personalizada. A URL contém um token de segurança que permite que o runbook seja invocado por um sistema de terceiros sem autenticação adicional. Por esse motivo, trate-o como uma senha. Você só pode exibir a URL no portal do Azure por motivos de segurança quando o webhook é criado. Anote o URL em um local seguro para uso futuro.
Nota
Ao criá-lo, certifique-se de copiar o URL do webhook e, em seguida, armazená-lo em um local seguro. Depois de criar o webhook, não é possível recuperar o URL novamente.
Selecione a opção Configurações de execução de parâmetros (Padrão: Azure). Esta opção tem as seguintes características, que lhe permitem concluir as seguintes ações:
- Se o runbook tiver parâmetros obrigatórios, você precisará fornecer esses parâmetros necessários durante a criação. Você não pode criar o webhook a menos que os valores sejam fornecidos.
- Se não houver parâmetros obrigatórios no runbook, não há nenhuma configuração necessária aqui.
- O webhook deve incluir valores para quaisquer parâmetros obrigatórios do runbook e incluir valores para parâmetros opcionais.
- Quando um cliente inicia um runbook usando um webhook, ele não pode substituir os valores de parâmetro definidos.
- Para receber dados do cliente, o runbook pode aceitar um único parâmetro chamado $WebhookData do tipo
[object]
que contém dados que o cliente inclui na solicitação POST. - Não há nenhuma configuração de webhook necessária para suportar o parâmetro $WebhookData .
Quando terminar, selecione Criar.
Usando um webhook
Para usar um webhook depois de criado, seu aplicativo cliente deve emitir um HTTP POST com a URL do webhook.
A sintaxe do webhook está no seguinte formato:
http://< Webhook Server >/token?=< Token Value >
O cliente recebe um dos seguintes códigos de devolução do pedido POST.
Código Teste Descrição 202 Aceite A solicitação foi aceita e o runbook foi enfileirado com êxito. 400 Solicitação inválida A solicitação não foi aceita porque o runbook expirou, foi desativado ou o token na URL é inválido. 404 Não encontrado A solicitação não foi aceita porque o webhook, runbook ou conta não foram encontrados. 500 Erro de Servidor Interno Se bem-sucedida, a resposta do webhook contém o ID do trabalho no formato JSON da seguinte maneira:
{"JobIds":["< JobId >"]}
A resposta conterá um único ID de trabalho, mas o formato JSON permite possíveis aprimoramentos futuros.
Não é possível determinar quando o trabalho do runbook é concluído ou determinar seu status de conclusão a partir do webhook. Você só pode escolher essas informações usando a ID do trabalho com outro método, como o PowerShell ou a API de Automação do Azure.
Mais detalhes estão disponíveis na página Iniciando um runbook de Automação do Azure com um webhook .