Serviço Github [Obsoleto]
Nesta página
Importante
Suspensão de serviços de terceiros e notificações push
Os serviços de terceiros e as notificações por push no App Services foram preteridos em favor da criação de pontos de extremidade HTTP que usam dependências externas em funções.
Webhooks foram renomeados e agora são chamados de pontos de conexão HTTPS sem nenhuma alteração em seu comportamento. Recomendamos migrar webhooks existentes.
Os serviços existentes continuarão a funcionar até 30 de setembro de 2025.
Como os serviços de terceiros e as notificações por push agora estão obsoletos, eles foram removidos por padrão da UI do App Services. Para gerenciar um serviço de terceiros ou uma notificação por push existente, adicione as configurações de volta à UI fazendo o seguinte:
Na navegação à esquerda, na seção Manage, clique em App Settings.
Ative a chave de alternância ao lado de Temporarily Re-Enable 3rd Party Services e salve as alterações.
Visão geral
Github é uma plataforma de desenvolvimento baseada na web para hospedagem e revisão de repositórios Git.
O serviço Github do Atlas App Services permite que sua aplicação React a evento em um repositório Github, como novas solicitações de pull ou problemas.
Parâmetros de configuração
Você precisará fornecer valores para os seguintes parâmetros ao criar uma interface de serviço do GitHub:
{ "name": "<Service Name>", "type": "github", "config": {} }
Parâmetro | Descrição |
---|---|
Service Name config.name | O nome dessa interface de serviço do GitHub. Isso deve ser exclusivo de todas as outras interfaces de serviço em seu aplicativo. |
Ações de serviço
Os Serviços do Github não fornecem nenhuma ação de serviço. Use umwebhook de entrada para responder a eventos em seu repositório do Github .
Webhooks recebidos
Observação
Converter webhooks do GitHub em endpoints
Os webhooks do GitHub Service foram preteridos em favor de endpoints HTTPS personalizados. Para saber como migrar seus webhooks do GitHub existentes para endpoints, consulte Converter webhooks em endpoints HTTPS.
O Github pode invocar um ou mais webhooks sempre que um evento específico ocorrer em um repositório. Se você quiser saber mais Github sobre a funcionalidade de webhook do , incluindo informações de referência detalhadas sobre os Github tipos de evento do ,Github consulte Webhook do documentação.
Configuração
Você precisará fornecer valores para os seguintes parâmetros ao configurar um webhook de entrada do Github:
Você precisará fornecer um arquivo de configuração do seguinte formulário ao configurar um webhook de entrada do Github :
{ "name": <string>, "respond_result": <boolean>, "run_as_user_id": <string>, "run_as_user_id_script_source": <string>, "options": { "secret": <string> }, }
Valor da configuração | Descrição |
---|---|
Webhook Name name | Obrigatório. O nome do webhook. Cada webhook de entrada em uma interface de serviço do Github deve ter um nome exclusivo. |
Respond With Result respond_result | Obrigatório. Se true , o App Services envia o valor de retorno da função do webhook para o Github no corpo da resposta. |
Run Webhook As run_as_user_id run_as_user_id_script_source | Opcional. A ID do usuário do App Services que executa a função do webhook quando o webhook é chamado. Existem três maneiras de configurar o usuário de execução:
Você pode especificar o ID do usuário diretamente no |
Request Validation config.secret | A string GitHub Secret que o Github inclui com as solicitações de entrada para provar que as solicitações são válidas. Você deve especificar esse valor nas configurações do seu repositório GitHub quando fornecer um URL de webhook. |
Solicitar carga útil
O App Services passa automaticamente um documento payload
como o primeiro argumento para as funções de entrada do webhook. Em um webhook de entrada do Github Service, o objeto payload
representa o evento do Github que fez o Github chamar o webhook.
Observação
O conteúdo exato dos documentos do Github payload
varia dependendo do tipo de evento que ele representa. Para obter uma descrição detalhada do documento de carga útil de um tipo de evento específico, consulte Github Tipos de eventos e cargas úteis do documentação.
Exemplo de função de webhook
A seguinte função de webhook insere dados recebidos em uma collection MongoDB.
exports = function(payload) { const mongodb = context.services.get("mongodb-atlas"); const requestlogs = mongodb.database("test").collection("requestlogs"); return requestlogs .insertOne({ "commits": payload.commits, "pushed_by": payload.pusher, "repo": payload.repository.html_url }) .then(({ insertedId }) => `Inserted document with _id: ${insertedId}`) }
O documento payload
é passado pelo serviço do GitHub e contém informações da solicitação.
Configurar o Github
Adicionar um webhook a um repositório do Github
Faça login no Github.
Navegue até o repositório que você deseja assinar.
Clique na aba Settings do repositório e selecione Webhooks no menu à esquerda.
Clique em Add Webhook.
Adicione a URL do webhook ao campo Payload URL .
Defina o tipo de conteúdo para
application/json
.Insira o GitHub Secret. Isso deve corresponder ao valor fornecido na configuração do webhook.
Escolha o tipo de eventos que deseja assinar.
Clique em Add webhook.