Connect your GitHub issues to a Notion database.
Like this GitHub Action? Give us a ⭐️ and follow us on Twitter for more drops 🪂.
- Create a new internal Notion integration and note the value of the Internal Integration Token.
- In your GitHub repository, go to
Settings
>Secrets
, and add aNew repository secret
. Set theName
toNOTION_TOKEN
and theValue
to the Internal Integration Token you created in the previous step. - Set up your Notion Database. Use this template and duplicate it to your workspace.
- In your Notion Database page's
Share
menu, add the Notion integration you created as a member with theCan edit
privilege. You may have to type your integration's name in theInvite
field. - Find the ID of your Database by copying the link to it. The link will have the format
https://www.notion.so/abc?v=123
where abc
is the database id.
-
Add the Database's ID as a repository secret for your GitHub repository. Set the
Name
toNOTION_DATABASE
and theValue
to the id of your Database. -
In your GitHub repository, create a GitHub workflow file at the path
.github/workflows/issues-notion-sync.yml
.
name: Notion Sync
on:
workflow_dispatch:
issues:
types:
[
opened,
edited,
labeled,
unlabeled,
assigned,
unassigned,
milestoned,
demilestoned,
reopened,
closed,
]
jobs:
notion_job:
runs-on: ubuntu-latest
name: Add GitHub Issues to Notion
steps:
- name: Add GitHub Issues to Notion
uses: tryfabric/notion-github-action@v1
with:
notion-token: ${{ secrets.NOTION_TOKEN }}
notion-db: ${{ secrets.NOTION_DATABASE }}
- (Optional) If your Github repository has any preexisting issues that you would like to sync to your new Notion Database you can trigger a manual workflow. Make sure your organization's default
GITHUB_TOKEN
has read and write permissions then follow these intructions to run theNotion Job
workflow.
Note: The manual workflow will only work on Notion Databases created from the templated linked above.
- Locally, on
master
(make sure it's up to date), executeGITHUB_TOKEN=<TOKEN> release-it
. (Alternatively, setGITHUB_TOKEN
as a system environment variable) - Follow the interactive prompts, selecting
Yes
for all options. - When selecting the increment, choose
patch
when the release is only bug fixes. For new features, chooseminor
. For major changes, choosemajor
.
Release-It will then automatically generate a GitHub release with the changelog inside.
Built with 💙 by the team behind Fabric.