Integrate GitHub
Connect Notion and GitHub so you can keep your workflows in sync 🧮
Notion's integration with GitHub allows you to seamlessly connect your development workflows. You can link GitHub content directly in Notion pages, pull GitHub information into Notion databases, and sync pull requests with Notion tasks to keep your team informed of project statuses. Read on to learn about the different features of the integration and how you can set them up.
Note: You can only connect one Notion workspace to a GitHub organization. If you’d like to connect a different Notion workspace to your GitHub organization, you’ll first have to disconnect your current Notion workspace.
You will need to be both a Notion workspace owner and a GitHub org admin to connect Notion and the GitHub workspace app.
Go to
Settings
in the sidebar.Click on
My connections
and findGitHub (Workspace)
.Click
Connect
and go through the authentication flow.
Link to a file or specific lines from a file directly in Notion. You can even link from a specific commit or branch if you want the code you’re referencing to be up-to-date.
Copy the permalink for your desired lines from GitHub.
Paste it into a Notion page and select
Paste as preview
to embed the code into your page.
You can sync your GitHub repositories (including pull requests and issues) into Notion as databases. To do this:
In GitHub, copy the link to a PR or issue.
Paste the link into Notion and select
Paste as database
.If you haven't already, you will be prompted to sign in and connect Notion with your GitHub account.
The synced database will be created in a table view, with all GitHub properties automatically added.
The database will begin populating automatically and will continue to sync if you navigate away from the page.
Supported GitHub properties
Here is a list of GitHub properties that we support:
Title | Assignees |
Description | State |
PR or Issue number | Creator |
Created time | Merged, updated, and closed time |
Reviewers |
Labels and tags aren’t supported at this time.
People properties
You can use identity mapping to connect GitHub identities to your team's Notion profiles. To do this:
Navigate to your GitHub email settings and ensure that the
Keep my email addresses private
setting is not checked on.In your GitHub profile (
https://github.com/{YOUR_USERNAME_HERE}
), edit your profile to add your Notion email address.
This enables your identity to be mapped to synced databases in workspaces you are a member of.
To link PRs from GitHub to a Notion, you'll need a prefixed unique ID property in your database.
The GitHub Pull Request property inside your Notion database will automatically keep your cross-functional teams informed of task statuses. It also has many attributes that you can use in rollups, formulas, and filters.
In a Notion database, click
+
to add a new property.Search for and click
GitHub Pull Requests
to add this property to your database.Make sure your database has a Unique ID property. This property will be added to your database if it doesn’t already have one.
To use the GitHub Pull Request property, make sure you’ve connected your GitHub account with Notion. Then, either add the Unique ID of the Notion task to the pull request, or paste the GitHub pull request URL into the property.
By default, Notion enables backlinks on Notion tasks to GitHub. If you want to turn this off, click on the GitHub Pull Request property in your database → Edit property
. Toggle off Linkbacks in GitHub
.
Automate task status updates
You can use the GitHub Pull Requests property to automatically update the status of your tasks in Notion.
Select the title of your
GitHub Pull Requests
property and clickEdit property
.Find the
Auto-update
section and select the status property you want to update from the drop down menu.Select the task status to be set when the GitHub PR is Opened, Review Requested, Approved, and Merged.
Now when the PR progresses in GitHub, your task status in Notion will be updated automatically based on your settings.
You can also show GitHub activity in the linked Notion task. To do this, click on the GitHub property in your database → Edit property
. Turn on Activity Comments
.
Use magic words to link GitHub PRs to Notion tasks
If you want to link a GitHub PR to one or more Notion tasks, simply enter a magic word and the Notion tasks’ unique ID in your PR’s description.
Magic words are key words that help establish relationships between Notion tasks and GitHub PRs. You can use any of the following words:
close, closes, closed
fix, fixes, fixed
resolve, resolves, resolved
complete, completes, completed, completing
ref, references
part of
related to
contributes to
towards
For example, your PR could have the description “fixes CTT-13”. Once that description is set, your Notion task with the ID CTT-13 will be linked with that PR.
If your PR description uses magic words associated with closing or finishing a task, the Notion task will be marked as done when the PR is merged.
If your PR description uses magic words associated with referring to or relating to a task, the Notion task will not be marked as done when the PR is merged.
You can link Notion tasks as reference-only, so that those tasks won’t be marked as done.
To disconnect GitHub from Notion, you’ll need to be a Notion workspace owner.
Go to
Settings
.Select
Connections
.Next to GitHub, select
•••
→Disconnect all users
.
When you disconnect GitHub from Notion, nobody in your workspace will be able to use the integration until it’s set up again.