Skip to main content

Sobre o aplicativo

Você pode criar integrações com as APIs de GitHub Enterprise Server para adicionar flexibilidade e reduzir o atrito no seu próprio fluxo de trabalho.

Os aplicativos no GitHub permitem que você automatize e melhore seu fluxo de trabalho. Crie aplicativos para aprimorar 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 OAuth Apps e GitHub Apps. Para obter informações sobre como escolher um tipo de aplicativo, confira "Diferenças entre Aplicativos do GitHub e Aplicativos OAuth".

Para ver um passo a passo do processo de criação de um GitHub App, confira "Como criar seu primeiro GitHub App".

Sobre os GitHub Apps

GitHub Apps são atores de primeira classe no GitHub. Um GitHub App 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 GitHub Apps pode ser instalado diretamente em organizações e contas pessoais e conceder acesso a repositórios específicos. Eles vêm com webhooks integrados e permissões específicas e restritas. Ao configurar o GitHub App, você pode selecionar os repositórios que deseja que ele acesse. Por exemplo, você pode configurar um aplicativo chamado MyGitHub que grava os problemas no repositório octocat e apenas no repositório octocat. Para instalar um GitHub App, 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. Confira "Gerentes de Aplicativos do GitHub" para saber como adicionar e remover gerentes de aplicativos do GitHub em sua organização.

GitHub Apps são aplicativos que devem ser hospedados em algum lugar. Para ver instruções passo a passo que abrangem servidores e hospedagem, confira "Como criar seu primeiro GitHub App".

Para melhorar seu fluxo de trabalho, você pode criar um GitHub App 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 GitHub Apps ao GitHub, Slack, ou a outros aplicativos que você pode ter, programas de e-mail ou outras APIs.

Tenha isso em mente ao criar GitHub Apps:

  • Um GitHub App deve executar ações independentemente de um usuário (a menos que o aplicativo esteja usando um token de usuário para servidor). Para manter tokens de acesso do usuário para servidor mais seguros, você pode usar tokens de acesso que expiram após 8 horas, e um token de atualização que pode ser trocado por um novo token de acesso. Para obter mais informações, confira "Como atualizar tokens de acesso de usuário para servidor".

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

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

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

  • Não use GitHub App, se você precisa apenas de um serviço de "Login com GitHub". Mas um GitHub App pode usar um fluxo de identificação do usuário para fazer logon dos usuários e executar outras tarefas.

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

Para começar a desenvolver GitHub Apps, comece com "Como criar um GitHub App".

Sobre OAuth Apps

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.

Aviso: a revogação de todas as permissões de um OAuth App exclui todas as chaves SSH que o aplicativo gerou em nome do usuário, incluindo as chaves de implantação.

Um OAuth App 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 permite acesso ao OAuth App, ele concede permissões a todos os repositórios aos quais ele tem acesso na conta e a todas as organizações às quais ele pertence que não bloquearam o acesso de terceiros.

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

Tenha isso em mente ao criar OAuth Apps:

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

Para obter mais informações sobre os OAuth Apps, confira "Como criar um OAuth App" e "Como registrar seu aplicativo".

Tokens de acesso pessoal

Um token de acesso pessoal é uma cadeia de caracteres que funciona de maneira semelhante a um token OAuth, no qual você pode especificar as permissões 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. Se você executar um comando do cURL ou escrever um script que crie um problema no seu repositório, transmitirá o token de acesso pessoal para 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 pessoal compartilhada para funcionar como um usuário bot.
  • Defina um vencimento para os seus tokens de acesso pessoais para ajudar a manter suas informações seguras.

Determinar qual integração criar

Antes de começar a criar integrações, você deverá determinar a melhor maneira de acessar autenticar e interagir com as APIs de GitHub Enterprise Server. A imagem a seguir oferece algumas perguntas de segurança ao decidir se usa tokens de acesso pessoais, GitHub Appsou OAuth Apps 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 OAuth App pode lidar com scripts mais complexos.

Solicitar suporte

Em caso de dúvidas, relatórios de bug e discussões sobre os GitHub Apps, os OAuth Apps e o desenvolvimento de API, explore o APIs and Integrations discussions on GitHub Community. As discussões são moderadas e mantidas pela equipe do GitHub, mas não é garantido que as perguntas publicadas no fórum recebam uma resposta da equipe do GitHub.

Considere a possibilidade de entrar em contato diretamente com o Suporte do GitHub 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