Skip to main content

Início Rápido para a criação de Aplicativos do GitHub

Crie rapidamente um GitHub App que comente solicitações de pull.

Introdução

GitHub Appss permitem automatizar processos ou integrar outras plataformas com GitHub. Para obter mais informações, confira "Sobre a criação de Aplicativos do GitHub".

Este início rápido descreve como criar rapidamente um GitHub App. Quando uma solicitação pull é aberta em um repositório ao qual o aplicativo recebeu acesso, o aplicativo adicionará um comentário à solicitação pull.

Este início rápido usa código predefinido para ajudar você a começar rapidamente. Para obter um tutorial mais detalhado para ajudar você a escrever o código, confira "Criar um Aplicativo GitHub que responde a eventos de webhook".

Pré-requisitos

Seu computador ou codespace deve usar Node.js versão 12 ou superior. Para obter mais informações, confira Node.js.

Etapa 1: clonar o código do aplicativo

Para ajudar você a começar rapidamente, escrevemos o código que você poderá usar. Para aprender a escrever o código por conta própria, confira "Criar um Aplicativo GitHub que responde a eventos de webhook".

  1. Clone o repositório github/github-app-js-sample. Para obter mais informações, confira "Clonar um repositório". Você pode usar um clone local ou GitHub Codespaces.
  2. Na janela do terminal, navegue até o diretório em que o clone está armazenado.
  3. Execute npm install para instalar as dependências.

Etapa 2: obter a URL de proxy de webhook

Para desenvolver seu aplicativo localmente, você pode usar a URL de proxy de webhook para encaminhar webhooks de GitHub para seu computador ou codespace. Este início rápido usa o Smee.io para fornecer a URL de proxy de webhook e encaminhar os webhooks.

  1. No navegador, navegue até https://smee.io/.
  2. Clique em Iniciar um novo canal.
  3. Copie a URL completa em "URL de Proxy de Webhook". Você usará esta URL em uma etapa posterior.

Etapa 3: Registrar o GitHub App

As etapas a seguir orientarão você na definição das configurações de aplicativo necessárias para este início rápido. Para saber mais sobre essas configurações, confira "Registrar um Aplicativo GitHub".

  1. No canto superior direito de qualquer página do GitHub, clique na foto do seu perfil.
  2. Acesse as configurações da sua conta.
    • Para um aplicativo de propriedade de uma conta pessoal, clique em Configurações.
    • Para um aplicativo de propriedade de uma organização:
      1. Clique em Suas organizações.
      2. À direita da organização, clique em Configurações.
  3. Na barra lateral esquerda, clique em Configurações do desenvolvedor.
  4. Na barra lateral esquerda, clique em GitHub Apps .
  5. Clique em Novo Aplicativo do GitHub.
  6. Em "Nome do GitHub App", insira um nome para seu aplicativo. Por exemplo, USERNAME-quickstart-app em que USERNAME é o nome de usuário do GitHub.
  7. Em "URL da Home Page", insira https://github.com/github/github-app-js-sample#readme.
  8. Ignore as seções "Identificar e autorizar usuários" e "Pós-instalação" deste início rápido. Para saber mais sobre essas configurações, confira "Registrar um Aplicativo GitHub".
  9. Verifique se Ativo está marcado em "Webhooks".
  10. Em "URL de Webhook", insira a URL de proxy de webhook da etapa anterior. Para obter mais informações, confira "Etapa 2: obter uma URL de proxy de webhook".
  11. Em "Segredo do webhook", insira uma cadeia de caracteres aleatória. Você usará esta cadeia de caracteres mais tarde.
  12. Em "Permissões de repositório", ao lado de "Solicitações de pull", selecione Leitura e gravação.
  13. Em "Assinar os eventos", selecione Solicitação de pull.
  14. Em "Em que local este GitHub App pode ser instalado?", selecione Somente nesta conta.
  15. Clique em Criar Aplicativo do GitHub.

Etapa 4: armazenar as informações e credenciais de identificação do aplicativo

Neste início rápido, você armazenará as credenciais de seu aplicativo e as informações de identificação como variáveis de ambiente em um arquivo .env. Quando você implantar seu aplicativo, o ideal será alterar a forma como armazena as credenciais. Para obter mais informações, confira "Implantar seu aplicativo".

Verifique se está em um computador seguro antes de executar essas etapas, pois você armazenará suas credenciais localmente.

Criar um arquivo .env

Seu repositório clonado inclui .env no arquivo .gitignore. Isso impedirá você de fazer um commit acidental das credenciais do aplicativo. Para obter mais informações sobre os arquivos .gitignore, confira "Ignorar arquivos".

  1. Navegue até o diretório em que o clone do github/github-app-js-sample está armazenado.

  2. Crie um arquivo chamado .env no nível superior desse diretório.

  3. Adicione o conteúdo a seguir ao arquivo .env. Você atualizará os valores em uma etapa posterior.

    Text
    APP_ID="YOUR_APP_ID"
    WEBHOOK_SECRET="YOUR_WEBHOOK_SECRET"
    PRIVATE_KEY_PATH="YOUR_PRIVATE_KEY_PATH"
    

Se você saiu das configurações do aplicativo depois de criá-lo, navegue até a página de configurações do seu aplicativo:

  1. No canto superior direito de qualquer página do GitHub, clique na foto do seu perfil.
  2. Acesse as configurações da sua conta.
    • Para um aplicativo de propriedade de uma conta pessoal, clique em Configurações.
    • Para um aplicativo de propriedade de uma organização:
      1. Clique em Suas organizações.
      2. À direita da organização, clique em Configurações.
  3. Na barra lateral esquerda, clique em Configurações do desenvolvedor.
  4. Na barra lateral esquerda, clique em GitHub Apps .
  5. Ao lado do nome do aplicativo, clique em Editar.

Obtenha suas credenciais de aplicativo e informações de identificação

  1. Na página de configurações do aplicativo, ao lado de "ID do aplicativo", localize a ID do aplicativo para o seu aplicativo.
  2. No arquivo .env, substitua YOUR_APP_ID pela ID do seu aplicativo.
  3. Na página de configurações do aplicativo, em "Chaves privadas", clique em Gerar uma chave privada. Você verá uma chave privada no formato PEM baixado no seu computador. Para obter mais informações, confira "Como gerenciar chaves privadas para Aplicativos GitHub".
  4. Se você estiver usando um codespace, mova o arquivo PEM baixado para o codespace para que ele possa acessar o arquivo.
  5. No arquivo .env, substitua YOUR_PRIVATE_KEY_PATH pelo caminho completo para a chave privada, incluindo a extensão .pem.
  6. No arquivo .env, substitua YOUR_WEBHOOK_SECRET pelo segredo do webhook do seu aplicativo. Se você esqueceu o segredo do webhook, em "Segredo do webhook (opcional)", clique em Alterar segredo. Insira um novo segredo e clique em Salvar alterações.

Etapa 5: instalar seu aplicativo

Para que seu aplicativo deixe um comentário sobre solicitações de pull em um repositório, ele deve ser instalado na conta que possui o repositório e ter acesso ao mesmo. Como seu aplicativo é privado, ele só pode ser instalado na conta que possui o aplicativo.

  1. Na conta que possui o aplicativo que você criou, crie um repositório para instalar o aplicativo. Para obter mais informações, confira "Criar um repositório".
  2. Se você saiu das configurações do aplicativo depois de criá-lo, volte à página de configurações dele. Para obter mais informações, confira "Navegue até as configurações do aplicativo".
  3. Clique em Página pública.
  4. Clique em Instalar.
  5. Selecione Selecionar apenas repositórios.
  6. Selecione o menu suspenso Selecionar repositórios e clique no repositório escolhido no início desta seção.
  7. Clique em Instalar.

Etapa 6: iniciar o servidor

Para teste, você usará seu computador ou o codespace como servidor. Seu aplicativo só estará ativo quando seu servidor estiver em execução.

  1. Em uma janela de terminal, navegue até o diretório onde seu clone de github/github-app-js-sample está armazenado.

  2. Para receber webhooks encaminhados do Smee.io, execute npx smee -u WEBHOOK_PROXY_URL -t http://localhost:3000/api/webhook. Substitua WEBHOOK_PROXY_URL pela URL de proxy de webhook. Se você esqueceu a URL, poderá encontrá-la no campo "URL do webhook" na página de configurações do aplicativo.

    Você deverá ver uma saída semelhante a esta, em que WEBHOOK_PROXY_URL é a URL de proxy de webhook:

    Forwarding WEBHOOK_PROXY_URL to http://localhost:3000/api/webhook
    Connected WEBHOOK_PROXY_URL
    
  3. Em uma segunda janela de terminal, navegue até o diretório onde seu clone do github/github-app-js-sample está armazenado.

  4. Execute npm run server. Seu terminal deve dizer: Server is listening for events at: http://localhost:3000/api/webhook.

Etapa 7: testar o aplicativo

Agora que o servidor está executando e recebendo eventos de webhooks encaminhados, teste o aplicativo abrindo uma solicitação de pull.

  1. Abra uma solicitação de pull no repositório que você criou na Etapa 5: instalar seu aplicativo. Para obter mais informações, confira "Como criar uma solicitação de pull".
  2. Navegue até a URL de proxy de webhook no smee.io. Você deve ver um evento pull_request. Isso indica que GitHub enviou com êxito um evento de solicitação de pull quando você criou a solicitação de pull.
  3. No terminal em que npm run server foi executado, você deverá ver algo como "Recebeu um evento de solicitação de pull para #1" em que o inteiro após o # é o número da solicitação de pull que você abriu.
  4. Na linha do tempo da sua solicitação de pull, você deverá ver um comentário do seu aplicativo. O comentário usa o conteúdo do arquivo message.md em seu repositório clonado.
  5. Em ambas as janelas do terminal, insira Ctrl+C para interromper o servidor e parar de escutar por webhooks encaminhados.

Próximas etapas

Agora que você tem um aplicativo, convém expandir o código do aplicativo, implantá-lo e torná-lo público.

Modificar o código do aplicativo

Bifurque o repositório do github/github-app-js-sample e modifique o código para responder a diferentes eventos de webhook ou fazer solicitações de API diferentes. Para obter mais informações sobre o código, confira "Criar um Aplicativo GitHub que responde a eventos de webhook".

Lembre-se de atualizar as permissões do aplicativo se ele precisar de permissões adicionais para as solicitações de API que você deseja fazer ou os eventos de webhook que você deseja receber. Para obter mais informações, confira "Escolhendo permissões para um Aplicativo GitHub".

Implante seu aplicativo

Este tutorial usou seu computador ou o codespace como servidor. Depois que o aplicativo estiver pronto para uso em produção, você deverá implantar seu aplicativo em um servidor dedicado. Por exemplo, você pode usar o Serviço de Aplicativo do Azure.

Depois de definir um servidor, atualize a URL do webhook nas configurações do aplicativo. Você não deve usar o Smee.io para encaminhar os webhooks em produção.

Você também precisará atualizar as constantes port e host no código. Para obter mais informações, confira "Criar um Aplicativo GitHub que responde a eventos de webhook".

Você nunca deve divulgar a chave privada ou o segredo do webhook do aplicativo. Este tutorial armazenou as credenciais do aplicativo em um arquivo .env gitignored. Ao implantar seu aplicativo, você deve escolher uma forma segura de armazenar as credenciais e atualizar o código para obter o valor de acordo. Por exemplo, você pode armazenar as credenciais em uma variável de ambiente no servidor onde seu aplicativo está implantado. Use também um serviço de gerenciamento de segredos como o Azure Key Vault.

Compartilhar o aplicativo

Se você quiser compartilhar seu aplicativo com outros usuários e organizações, torne o aplicativo público. Para obter mais informações, confira "Tornar um aplicativo do GitHub público ou privado".

Seguir as práticas recomendadas

Você deve ter como objetivo seguir as melhores práticas com seu GitHub App. Para obter mais informações, confira "Práticas recomendadas para criar um aplicativo do GitHub".