Airtable Sync integration: GitHub Issues
  • 04 Mar 2024
  • 4 Minutes to read
  • Dark
    Light
  • PDF

Airtable Sync integration: GitHub Issues

  • Dark
    Light
  • PDF

Article Summary

Plan availability

All plan types

Permissions

Owners/Creators - In order to create or update synced tables, you'll need to have creator permissions in the base where you are setting up the sync.

Platform(s)

Web/Browser, Mac app, and Windows app

Related reading

  • Sync - Basic setup - If you haven’t set up a sync before, we recommend first reading this article to become familiarized with how the Airtable Sync feature generally works.

  • Airtable Sync FAQs - Answers to common questions that might help unblock you if you are encountering issues.

Setting up GitHub Issues to sync with Airtable

Learn how to use the Airtable Sync integration feature to bring information from external applications into a single, centralized table within Airtable. This article covers the process of syncing issues connected to a GitHub repository, based on a customized filter set up in Airtable, to an Airtable base. It's worth noting that this sync integration only works with GitHub Enterprise Cloud or GitHub.com. This sync does not work with GitHub Enterprise Server.

Step 1: Add a new synced table

Start by clicking the + symbol next to your list of tables. Then, under “Sync data from”, select the “More...” option. From there, you should see the "GitHub Issues" option.

4412665486359githubETSfindmain.jpg

Step 2: Select a GitHub account

Select an existing GitHub account (if you’ve already connected to GitHub), or link to a new GitHub account if this is the first time you've set this sync up.

4408164649751selectOrAddAccountGitHubSync.jpg

Connecting a new account will take you to the authentication window. For more info on authentication and authorization jump to the section below.

Step 3: Select a repo

After you have connected your account successfully, you will need to connect to a repository or "Repo."

4408165105687selectRepoGituHubIssues.jpg

If this is the first time you are syncing with GitHub, then you will need to install the Airtable GitHub app which you can click to within the sync setup window or by clicking here. This is a requirement on GitHub's end that is needed to allow this sync to work. The installation screen will look like this:

4408165210647installConnecterGitHubIssuesSync.jpg

Installing this app allows us to read metadata and read and/or write to issues. More information about this is in the Authentication and authorization section below.

After installing the app successfully, you will see all of the repositories that you have set up in GitHub. Choose the one you would like to sync to Airtable.

4408160109975selectRepoAfterAppInstall.jpg

Step 4: Apply filters

Next, you can choose filters to sync with a subset of issues. Currently, there are 7 static fields the GitHub allows users to filter by:

1. Milestone

4. Author

6. Labels

2. State

5. Mentioned

7. Created after

3. Assignee

We pull these same filters over to the Airtable sync feature so that you can choose whether or not to employ any of them.

4408160524951filtersGitHubIssuesSync.jpg

Each filtering field will have different options for you to choose from. Whether you choose to filter by all 7 fields or none, click the "Next" button to move on to the next step in the setup process.

Step 5: Select fields to sync

After clicking next, you’ll be presented with two sync options; you can sync:

  1. All fields from the GitHub issue, including any fields added by GitHub in the future.

  2. Specific fields from the GitHub issue.

If you choose to sync specific fields you’ll be shown a menu where you can toggle each individual field that you want to sync from the GitHub Issues source.

4408171806231specificFieldGitHubIssuesSync.gif

Currently, GitHub organizes its issues information into 15 fields:

1. Title

6. Created At

11. Locked

2. Issue Number

7. Updated At

12. Milestone

3. State

8. Closed At

13. Comment Count

4. Labels

9. Created By

14. Issue Link

5. Body

10. Assignees

15. Id

Click the "Next" button after you have chosen how you want the fields to be synced to Airtable.

Step 6: Create a synced table

In the last step before creating your synced table, there are “Settings” options that allow you choose how often you want to sync, and how to handle issues deleted or hidden in GitHub.

  • The frequency of syncing. Right now, the options are manual syncing and automatic syncing which happens around every 5 minutes.

  • Whether or not deleted issues in GitHub should be removed from the Airtable table. By default, deleted issues will be removed.

4408161668375settingsGitHubSync.jpg

Once you’ve selected your desired settings, click the “Create table” button.

4408171968151createSyncedTableGitHubIssues.gif

Security and OAuth scopes

Authentication and authorization

The authentication window will lead to an authorization window. Authorizing allows us to verify your GitHub identity, know which resources you can access, and act on your behalf.

Airtable only supports a single GitHub external account type, so the scopes listed below are used for the Airtable Sync integration as well as the GitHub automation actions. That is why Airtable requests write access even when setting up a sync, even though we only use the read request portion for the sync.

Airtable will only have access to the issues that the user who connected the GitHub account has access to. Furthermore, it will only have access to issues in repositories that the Airtable Connector GitHub App is installed in. If the user who connected the GitHub account leaves the company and their GitHub account gets deactivated, the sync and automation actions will stop working.

For more information on GitHub scopes, check out GitHub's documentation here.


Was this article helpful?