# GitHub

### Connect to GitHub

1\. Go to the Resources page and click the <img src="https://3574406564-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MB_fx7PCUqvFEdrucJC%2Fuploads%2Fct5RJC2cjHhrvymOWWGx%2Fimage.png?alt=media&#x26;token=b4ff0c44-5510-49d1-97dd-a155af254113" alt="" data-size="line">  button.&#x20;

2\. Select **GitHub**.

3\. Enter your account credentials and click **Connect**.&#x20;

* **`Access Tokens`**: Please visit [here](https://github.com/settings/tokens) to generate the Access Tokens.
* **`Start Date`**: UTC date and time in the format 2020-10-01T00:00:00Z. Any data before this date will not be replicated.
* **`GitHub Repositories`**: Space-delimited list of GitHub organizations/repositories.

4\. Choose tables to import and click **Finish Setup**.&#x20;

5\. You will see a  <img src="https://3574406564-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MB_fx7PCUqvFEdrucJC%2F-MgBh5PshcmRFk38itib%2F-MgBo4LSmdK4OS-NqLZy%2Fsyncing.png?alt=media&#x26;token=452494f9-e4be-48fa-9644-bee7d969c46c" alt="" data-size="line"> icon next to your resource. It may take a few minutes to several hours depending on the data size and the number of your tables. Once your data is ready, you will receive a notification email.&#x20;

### Supported tables[​](https://docs.airbyte.com/integrations/sources/appstore#output-schema) <a href="#output-schema" id="output-schema"></a>

This connector outputs the following full refresh streams:

* [Assignees](https://docs.github.com/en/rest/reference/issues#list-assignees)
* [Branches](https://docs.github.com/en/rest/reference/repos#list-branches)
* [Collaborators](https://docs.github.com/en/rest/reference/repos#list-repository-collaborators)
* [Issue labels](https://docs.github.com/en/rest/issues/labels#list-labels-for-a-repository)
* [Organizations](https://docs.github.com/en/rest/reference/orgs#get-an-organization)
* [Pull request commits](https://docs.github.com/en/rest/reference/pulls#list-commits-on-a-pull-request)
* [Tags](https://docs.github.com/en/rest/reference/repos#list-repository-tags)
* [TeamMembers](https://docs.github.com/en/rest/teams/members#list-team-members)
* [TeamMemberships](https://docs.github.com/en/rest/reference/teams#get-team-membership-for-a-user)
* [Teams](https://docs.github.com/en/rest/reference/teams#list-teams)
* [Users](https://docs.github.com/en/rest/reference/orgs#list-organization-members)

This connector outputs the following incremental streams:

* [Comments](https://docs.github.com/en/rest/reference/issues#list-issue-comments-for-a-repository)
* [Commit comment reactions](https://docs.github.com/en/rest/reference/reactions#list-reactions-for-a-commit-comment)
* [Commit comments](https://docs.github.com/en/rest/reference/repos#list-commit-comments-for-a-repository)
* [Commits](https://docs.github.com/en/rest/reference/repos#list-commits)
* [Deployments](https://docs.github.com/en/rest/reference/deployments#list-deployments)
* [Events](https://docs.github.com/en/rest/reference/activity#list-repository-events)
* [Issue comment reactions](https://docs.github.com/en/rest/reference/reactions#list-reactions-for-an-issue-comment)
* [Issue events](https://docs.github.com/en/rest/reference/issues#list-issue-events-for-a-repository)
* [Issue milestones](https://docs.github.com/en/rest/reference/issues#list-milestones)
* [Issue reactions](https://docs.github.com/en/rest/reference/reactions#list-reactions-for-an-issue)
* [Issues](https://docs.github.com/en/rest/reference/issues#list-repository-issues)
* [Project cards](https://docs.github.com/en/rest/reference/projects#list-project-cards)
* [Project columns](https://docs.github.com/en/rest/reference/projects#list-project-columns)
* [Projects](https://docs.github.com/en/rest/reference/projects#list-repository-projects)
* [Pull request comment reactions](https://docs.github.com/en/rest/reference/reactions#list-reactions-for-a-pull-request-review-comment)
* [Pull request stats](https://docs.github.com/en/rest/reference/pulls#get-a-pull-request)
* [Pull requests](https://docs.github.com/en/rest/reference/pulls#list-pull-requests)
* [Releases](https://docs.github.com/en/rest/reference/repos#list-releases)
* [Repositories](https://docs.github.com/en/rest/reference/repos#list-organization-repositories)
* [Review comments](https://docs.github.com/en/rest/reference/pulls#list-review-comments-in-a-repository)
* [Reviews](https://docs.github.com/en/rest/reference/pulls#list-reviews-for-a-pull-request)
* [Stargazers](https://docs.github.com/en/rest/reference/activity#list-stargazers)
* [WorkflowRuns](https://docs.github.com/en/rest/reference/actions#list-workflow-runs-for-a-repository)
* [Workflows](https://docs.github.com/en/rest/reference/actions#workflows)

#### Notes[​](https://docs.airbyte.com/integrations/sources/github/#notes) <a href="#notes" id="notes"></a>

1. Only 4 streams (`comments`, `commits`, `issues` and `review comments`) from the above 24 incremental streams are pure incremental meaning that they:
   * read only new records;
   * output only new records.
2. Other 20 incremental streams are also incremental but with one difference, they:
   * read all records;
   * output only new records. Please, consider this behaviour when using those 20 incremental streams because it may affect you API call limits.
3. We are passing few parameters (`since`, `sort` and `direction`) to GitHub in order to filter records and sometimes for large streams specifying very distant `start_date` in the past may result in keep on getting error from GitHub instead of records (respective `WARN` log message will be outputted). In this case Specifying more recent `start_date` may help. **The "Start date" configuration option does not apply to the streams below, because the GitHub API does not include dates which can be used for filtering:**

* `assignees`
* `branches`
* `collaborators`
* `issue_labels`
* `organizations`
* `pull_request_commits`
* `pull_request_stats`
* `repositories`
* `tags`
* `teams`
* `users`
