Exercício – Disparar uma Função do Azure com um evento do GitHub
Neste exercício, você vai atualizar sua função para analisar as informações do conteúdo do webhook do GitHub e exibir os resultados.
Atualizar a sua função para analisar o conteúdo do webhook
No portal do Azure, navegue até o Aplicativo de Funções que você criou anteriormente.
No painel Aplicativo de Funções, no painel do menu esquerdo, em Funções, selecione Funções. O painel Funções aparece para o seu aplicativo de funções.
Selecione o HttpTrigger1 que você criou. O painel HtttpTrigger1 é exibido para a sua função.
No painel de menu esquerdo, em Desenvolvedor, selecione Código + Teste. O painel Codificar + Testar para sua função é exibido.
No caminho acima da caixa de código, na lista suspensa, selecione index.js. O JavaScript do gatilho será exibido.
Atualize o código substituindo as três últimas linhas de código no corpo da função pelo código a seguir.
if (req.body.pages[0].title){ context.res = { body: "Page is " + req.body.pages[0].title + ", Action is " + req.body.pages[0].action + ", Event Type is " + req.headers['x-github-event'] }; } else { context.res = { status: 400, body: ("Invalid payload for Wiki event") }; }
Esse código recupera o tipo de evento de cabeçalho de solicitação e dos campos de título e ação do corpo da mensagem. Essa informação indica que a página mudou e se foi editada ou criada recentemente. O código, então, constrói uma resposta que resume a ação. Esta deverá ser a aparência do JavaScript:
module.exports = async function (context, req) { context.log('JavaScript HTTP trigger function processed a request.'); const name = (req.query.name || (req.body && req.body.name)); const responseMessage = name ? "Hello, " + name + ". This HTTP triggered function executed successfully." : "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response."; if (req.body.pages[0].title){ context.res = { body: "Page is " + req.body.pages[0].title + ", Action is " + req.body.pages[0].action + ", Event Type is " + req.headers['x-github-event'] }; } else { context.res = { status: 400, body: ("Invalid payload for Wiki event") }; } }
Na barra de menus superior, selecione Salvar.
Disparar sua Função do Azure com um evento do Gollum
Retorne à sua conta do GitHub.
Selecione o repositório que você está usando para este módulo.
Na barra de menus superior, selecione Configurações. O painel Configurações é exibido.
Na barra lateral, escolha Webhooks. O painel Webhooks é exibido.
Selecione Editar no seu webhook. O painel Webhooks/Gerenciar webhook é exibido.
Selecione a guia Entregas Recentes.
Selecione a entrada de entrega mais recente (superior) selecionando o respectivo botão de reticências (…).
Selecione Redeliver (Entregar Novamente).
Na caixa de diálogo Entregar o conteúdo novamente? que aparece, selecione Sim, entregar novamente esse conteúdo. Essa ação simula você alterar sua página do Wiki novamente.
Selecione a entrada de entrega (re-entrega) mais recente (superior) selecionando o respectivo botão de reticências (…).
Selecione a guia Resposta. Você verá como o webhook disparou sua função, que, em seguida, analisou as informações e enviou uma resposta semelhante ao seguinte texto:
Page is Home, Action is edited, Event Type is gollum