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 "Using the GitHub API in your 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 alterem as configurações de desenvolvedor dos aplicativos GitHub pertencentes à organização, um proprietário pode conceder a eles permissões de gerente do aplicativo GitHub. Os gerentes de aplicativos GitHub não podem gerenciar aplicativos de terceiros. Para saber como adicionar e remover gerentes de aplicativos GitHub em sua organização, confira "Gerentes de aplicativos GitHub".
GitHub Apps são aplicativos que devem ser hospedados em algum lugar. Para obter instruções passo a passo que abrangem servidores e hospedagem, confira "Using the GitHub API in your 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 "Atualizar tokens de acesso do usuário".
-
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 "Criar um aplicativo GitHub".
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 OAuth Apps, confira "Criar um aplicativo OAuth" e "Autenticação na API REST com um aplicativo OAuth".
Personal access tokens
Um personal access token é 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 personal access token também é semelhante a uma senha, mas você pode ter várias delas e revogar o acesso a cada uma a qualquer momento.
Como exemplo, você pode habilitar um personal access token a ser gravado nos repositórios. Se você executar um comando curl
ou escrever um script que crie um problema em seu repositório, deverá passar o personal access token para autenticar. Você pode armazenar o personal access token como uma variável de ambiente para evitar precisar digitá-lo a cada uso.
Considere o seguinte ao usar personal access tokens:
- Lembre-se de usar este token para representar apenas você.
- Você pode realizar solicitações
curl
pontuais. - 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 atuar como um usuário de bot.
- Conceda ao token os privilégios mínimos necessários.
- Defina uma expiração para os personal access tokens, para 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.
Para decidir se vai usar personal access token, GitHub Apps ou OAuth Apps em sua integração, considere estas perguntas sobre como a integração precisa se comportar e o que ela precisa acessar:
- 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, personal access tokens são bons para scripts e comandos
curl
simples, já um OAuth App pode lidar com scripts mais complexos.
Se a integração funcionar somente como você, mas você quiser limitar o acesso, use um GitHub App ou um fine-grained personal access token.
Se a integração funcionar mais como um aplicativo, considere se quer que ela atue independentemente de você com uma entidade própria. Nesse caso, use um GitHub App.
Solicitar suporte
Em caso de dúvidas, relatórios de bug e discussões sobre o GitHub Apps, o OAuth Apps e o desenvolvimento de API, explore o Discussões sobre APIs e integrações na Comunidade do GitHub. 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