Esta versão do GitHub Enterprise foi descontinuada em 2021-06-09. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Sobre o aplicativo

Você pode construir integrações com as APIS de GitHub para adicionar flexibilidade e reduzir fricção no seu próprio fluxo de trabalho.

Os aplicativos no GitHub permitem que você automatize e melhore seu fluxo de trabalho. Você pode criar aplicativos para melhorar o seu fluxo de trabalho.

Aplicativos do GitHub são a forma oficialmente recomendada de se integrar ao GitHub, porque eles oferecem muito mais permissões granulares para acessar dados, mas o GitHub é compatível com aplicativo OAuths e Aplicativos do GitHub. Para obter informações sobre a escolha de um tipo de aplicativo, consulte "Diferenças entre os aplicativos GitHub e os aplicativos OAuth".

Para uma apresentação do processo de construção de um aplicativo GitHub, consulte "Criando o seu primeiro aplicativo GitHub".

Sobre o Aplicativos do GitHub

Aplicativos do GitHub são atores de primeira classe no GitHub. Um aplicativo GitHub age em seu próprio nome, tomando ações por meio da API diretamente usando sua própria identidade, o que significa que você não precisa manter um bot ou conta de serviço como um usuário separado.

O Aplicativos do GitHub pode ser instalado diretamente em organizações e contas de usuários e conceder acesso a repositórios específicos. Eles vêm com webhooks integrados e permissões específicas e restritas. Ao configurar o aplicativo GitHub, você pode selecionar os repositórios que deseja que ele acesse. Por exemplo, você pode configurar um aplicativo denominado MyGitHub que escreve problemas no repositório octocat e apenas no repositório octocat. Para instalar um aplicativo GitHub, você deve ser o proprietário de uma organização ou ter permissões de administrador em um repositório.

Por padrão, somente proprietários da organização podem gerenciar as configurações dos aplicativos GitHub em uma organização. Para permitir que usuários adicionais gerenciem os Aplicativos GitHub em uma organização, um proprietário pode conceder-lhes permissões de gerente de aplicativos do GitHub. Veja "GitHub App Managers" para saber como adicionar e remover gerentes do GitHub App em sua organização.

Aplicativos do GitHub são aplicativos que devem ser hospedados em algum lugar. Para obter as instruções do passo a passo que cobrem os servidores e hospedagem, consulte "Construindo seu primeiro aplicativo GitHub".

Para melhorar seu fluxo de trabalho, você pode criar um aplicativo GitHub que contém vários scripts ou um aplicativo inteiro e, em seguida, conectar esse aplicativo a muitas outras ferramentas. Por exemplo, você pode conectar Aplicativos do GitHub ao GitHub, Slack, ou a outros aplicativos que você pode ter, programas de e-mail ou outras APIs.

Tenha isso em mente ao criar Aplicativos do GitHub:

  • Um aplicativo GitHub deve tomar ações independentes do usuário (a menos que o aplicativo esteja usando um token user-to-server).

  • Certifique-se de que o aplicativo GitHub integre repositórios específicos.

  • O aplicativo GitHub deve conectar-se a uma conta pessoal ou organização.

  • Não espere que o aplicativo GitHub saiba e faça tudo o que um usuário pode fazer.

  • Não use aplicativo GitHub, se você precisa apenas de um serviço de "Login com GitHub". No entanto, um aplicativo GitHub pode usar um fluxo de identificação de usuário para iniciar sessão de usuários em e fazer outras coisas.

  • Não crie um aplicativo GitHub se você apenas quiser atuar como um usuário do GitHub e fazer tudo o que o usuário pode fazer.

Para começar a desenvolver Aplicativos do GitHub, comece com "Criar um aplicativo GitHub.

Sobre aplicativo OAuths

OAuth2 é um protocolo que permite que os aplicativos externos solicitem autorização para detalhes privados na conta GitHub de um usuário sem acessar sua senha. Isto é preferido em relação à autenticação básica, porque os tokens podem ser limitados a tipos específicos de dados e podem ser revogados pelos usuários a qualquer momento.

Warning: Revogar todas as permissões de um aplicativo OAuth exclui quaisquer chaves SSH geradas pelo aplicativo em nome do usuário, incluindo deploy keys.

Um aplicativo OAuth usa GitHub como um provedor de identidade para efetuar a autenticação como o usuário que concede acesso ao aplicativo. Isso significa que, quando um usuário concede acesso aplicativo OAuth, ele concedem permissões a todos os repositórios aos quais tem acesso em sua conta, e também a qualquer organização a que pertence que não bloqueou o acesso de terceiros.

Construir um aplicativo OAuth é uma boa opção se você estiver criando processos mais complexos do que um simples script pode gerenciar. Observe que aplicativo OAuths são aplicativos que precisam ser hospedados em algum lugar.

Tenha isso em mente ao criar aplicativo OAuths:

  • Um aplicativo OAuth deve sempre atuar como o usuário autenticado GitHub em todo o GitHub (por exemplo, ao fornecer notificações de usuário).
  • Um aplicativo OAuth pode ser usado como um provedor de identidade, habilitando um "Login com GitHub" para o usuário autenticado.
  • Não crie um aplicativo OAuth, se desejar que seu aplicativo atue em um único repositório. Com o escopo do OAuth do repositório, aplicativo OAuths podem agir em todos os os repositórios dos usuários autenticados.
  • Não crie um aplicativo OAuth para atuar como um aplicativo para sua equipe ou empresa. aplicativo OAuths efetuam a autenticação como um único usuário. Portanto, se uma pessoa criar um aplicativo OAuth para a empresa usar e depois sair da empresa, ninguém mais terá acesso a ele.

Para obter mais informações sobre aplicativo OAuth, consulte "Criar um aplicativo OAuth" e "Registrando seu aplicativo".

Tokens de acesso pessoal

Um token de acesso pessoal é uma string de caracteres que funciona da mesma forma que um token do OAuth, cujas permissões você pode especificar por meio de escopos. Um token de acesso pessoal também é semelhante a uma senha, mas você pode ter muitos delas e você pode revogar o acesso a cada uma a qualquer momento.

Como exemplo, você pode habilitar um token de acesso pessoal para escrever em seus repositórios. Em seguida, se você executar um comando cURL ou escrever um script que cria um problema no seu repositório, você informaria o token de acesso pessoal para efetuar a autenticação. Você pode armazenar o token de acesso pessoal como uma variável de ambiente para evitar ter de digitá-lo toda vez que você usá-lo.

Tenha em mente essas ideias ao usar os tokens de acesso pessoais:

  • Lembre-se de usar este token para representar apenas você.
  • Você pode realizar solicitações de cURL únicas.
  • Você pode executar scripts pessoais.
  • Não configure um script para toda a sua equipe ou empresa usá-lo.
  • Não configure uma conta de usuário compartilhada para atuar como um usuário bot.

Determinar qual integração criar

Antes de começar a criar integrações, você deve determinar a melhor maneira de acessar, autenticar e interagir com as APIs do GitHub. A imagem a seguir oferece algumas perguntas para você ao decidir usar tokens de acesso pessoal, Aplicativos do GitHub, ou aplicativo OAuths para sua integração.

Introdução ao fluxo de perguntas dos aplicativos

Considere estas perguntas sobre como sua integração deve se comportar e o que é necessário para ter acesso:

  • A minha integração funcionará apenas como eu ou será mais como um aplicativo?
  • Quero que ela aja independentemente de mim com sua própria entidade?
  • Ela irá acessar tudo o que eu puder acessar ou eu quero limitar seu acesso?
  • É simples ou complexo? Por exemplo, tokens de acesso pessoal são bons para scripts simples e cURLs, enquanto um aplicativo OAuth pode lidar com scripts mais complexos.

Solicitar suporte

Para dúvidas, relatórios de erros e discussões sobre aplicativo GitHubs, aplicativo OAuthe desenvolvimento da API, explore Fórum de Suporte e Desenvolvimento de API GitHub. O fórum é moderado e mantido por funcionários de GitHub, mas as dúvidas postadas no fórum não têm garantia de recebimento de resposta por parte dos funcionários de GitHub.

Considere entrar em contato com o Suporte do GitHub diretamente usando o formulário de contato para:

  • resposta garantida dos funcionários de GitHub Enterprise Server
  • solicitações de suporte que envolvem dados confidenciais ou questões privadas
  • solicitações de recursos
  • feedback sobre produtos de GitHub Enterprise Server