The first thing to note: the integration does not get access to any code or commit data. Intello does not want to pull any of this data into our system.
The integration pulls:
Users
All enterprise members
Events
Intello pulls in organization repository events based on issues and prs. The reason we do it this way is so that we do not get access to commit data.
To do so we have to do the following:
Find all GitHub organizations
For each organization find each repo id + name for the organization
Access Control - roles & assignments
Pulls in all the roles and role assignments assigned to users through the GitHub integration
List all organizations - generate a role for each organization
List members with roles to find out which roles users have