I am currently working on an application within my company that relies on Github integration, more specifically, we need to programatically clone a repository on a remote machine.
We've choosen to do this integration using Github Apps. The idea was to create a Githu App in the enterprise account, create a private key for it, install the app in the enterprise's account and them use Private Key, App Id and the Installation Id created to get an access token. The token would then be used to clone the repo.
The problem is that after creating the app, we were not able to install it to the enterprise account, we were only given the option of installing the app to our personoal accounts. This way, the app would not have read access to the necessary repos and we could not use an access token acquired by it to clone the repo.
When I looked for ways of installin apps to enterprise accounts, the only solution I came across was this: https://help.github.com/en/articles/installing-an-app-in-your-organization
But by this guide we would need to have our app in the Github Market place, which does not seem like the right thing, since it has no reason for being there.
TL;DR: Is there a way to install a private app (owned by an enterprise) to the enterprise's account? Is there other ways to grant the Github app read-acces to the enterprises repos?
Are you using GitHub Enterprise Server? Or Enterprise Cloud?
If you're using Enterprise Server, you may need to be a GitHub App manager or organization owner in order to manage GitHub Apps for that organization in your Enterprise Server instance.
If you're using Enterprise Cloud and you're an organization owner, then you should be able to follow the standard instructions for creating a GitHub App.
In any case, it sounds like you may not have the right level of access to install the app you've built into the organization?
Let us know if you have more information or questions.