GitHub Action
Notion Documentation Sync
Synchronizes documentation files to Notion.so. Reads in files as files & Markdown, converting them to Notion pages & blocks.
Run with Poetry:
poetry run notion-docs-sync --notion-token $NOTION_TOKEN $DOCS_PATH $NOTION_URL
The Notion token is stored in cookies during an authentication as token_v2
.
This can be retrieved in Firefox with the Storage Inspector
or in Chrome with the Chrome DevTools Application tab.
The value of this can be used to make changes to your account as well as any workspace you have access to. There does not seem to be an easy way to invalidate this token so however you end up storing it, keep it secure!
Warning: If you include the Notion token directly in your workflow definition you will be allowing anyone with access to the repository to act on your behalf in Notion. Use the Github Repository Secrets feature!
docs_path
- The path that should be published to Notion.notion_url
- The URL to a page in Notion that serves as the root of the documentation.notion_token
- The Notion Access token to use for publishing.
Create a Workflow with the following definition:
on:
push:
branches:
- master
jobs:
release:
timeout-minutes: 10
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Notion Documentation Sync
uses: imnotjames/notion-docs-sync@latest
with:
docs_path: ./docs/
notion_url: ${{ secrets.NOTION_URL }}
notion_token: ${{ secrets.NOTION_TOKEN }}