Os aplicativos no GitHub permitem que você automatize e melhore seu fluxo de trabalho. Você pode criar aplicativos para melhorar 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 Aplicativos OAuth 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). 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 mais informação, consulte "Refreshing user-to-server access tokens."
-
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 desejar 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 "Criando um aplicativo GitHub.
Sobre Aplicativos OAuth
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. Note que Aplicativos OAuth são aplicativos que precisam ser hospedados em algum lugar.
Tenha isso em mente ao criar Aplicativos OAuth:
- 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 de
repo
do OAuth, Aplicativos OAuth pode atuar em todos os repositórios de usuários autenticados. - Não crie um aplicativo OAuth para atuar como um aplicativo para sua equipe ou empresa. Aplicativos OAuth efetua a autenticação como um usuário único. Portanto se uma pessoa criar um aplicativo OAuth para uma empresa usar e, posteriormente, sair da empresa, ninguém mais terá acesso.
Para obter mais informações sobre Aplicativos OAuth, consulte "Criando 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 agir atuar 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 de segurança ao decidir se usa tokens de acesso pessoais, Aplicativos do GitHubou Aplicativos OAuth para sua integração.
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
For questions, bug reports, and discussions about Aplicativos do GitHub, Aplicativos OAuth, and API development, explore the 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