GitHub Enterprise data integration

GitHub and GitHub Enterprise both use the same integration app. GitHub Enterprise uses an app that you create in your GitHub user account. Once you create the app, it can be installed into any account on your GitHub Enterprise server, whether on an organization or a personal account.

How the service works

The customer is taken through a guided process to create a GitHub app on their GitHub Enterprise installation and is then prompted to install the app into their GitHub Enterprise organizations. Once installed, this app runs a sync operation to send CloudBees Engineering Efficiency data from GitHub Enterprise, then sends updates as data is created, updated, and deleted. The sync operation also repeats periodically and resends all data created or updated since the last sync.

The app sends data that includes the following:

  • Repositories

  • Branches

  • Commits

  • PullRequests

  • PullRequestReviews

  • Issues

User information is removed from the above entities on ingestion and stored separately in the System of Record.

The data is sent to the CloudBees Engineering Efficiency backend service via the REST API. This service handles authentication and is responsible for verifying GitHub Enterprise as a source of data updates. The backend receives and stores your data where it can be retrieved and used by the System of Record GraphQL for your applications.

How GitHub data changes affect the System of Record

Once GitHub integration is configured, data is imported into CloudBees Engineering Efficiency and stored in the System of Record. Data from GitHub and GitHub Enterprise are used to update CloudBees Engineering Efficiency screens like Investment areas and Activity.

GitHub and GitHub Enterprise use the same data storage and sync processes. Refer to GitHub data integration for details.

Refer to GitHub permissions for details about permissions and data used from GitHub.

GitHub Enterprise integration data

CloudBees Engineering Efficiency stores the following data from the GitHub integration:

This includes (embedded in the above objects) the following personally identifiable information:

  • User, but only the following fields:

    • Name (public profile name, for example, Brenda Wilson)

    • Login (GitHub handle, for example, bwilson834)

    • Url (URL for the user profile, for example, /https://github.com/bwilson834)

    • Email (for example, /bwilson@cloudbees.com)

  • Status

  • Label