https://github.com/infinitaslearning/notion-release-notes
A github action to create notion release notes
https://github.com/infinitaslearning/notion-release-notes
hacktoberfest
Last synced: 10 months ago
JSON representation
A github action to create notion release notes
- Host: GitHub
- URL: https://github.com/infinitaslearning/notion-release-notes
- Owner: infinitaslearning
- License: mit
- Created: 2021-12-18T06:05:05.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-07-19T06:51:24.000Z (almost 3 years ago)
- Last Synced: 2025-08-13T16:58:34.352Z (10 months ago)
- Topics: hacktoberfest
- Language: JavaScript
- Homepage:
- Size: 804 KB
- Stars: 12
- Watchers: 5
- Forks: 5
- Open Issues: 5
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Notion Release Notes
[](https://github.com/infinitaslearning/notion-release-notes/actions/workflows/codeql-analysis.yml)
This action allows you to specify an existing database in your Notion workspace, and create a new entry each time your action runs. This is currently specifically aimed at release notes, but could be used for a more generic purpose if you like, fields are kept purposefully quite generic.
This would typically be used alongside https://github.com/mikepenz/release-changelog-builder-action to actually programmatically build the release notes based on tags / pull-requests.
## Notion integration and token
First, you need to have an integration access token - which you can get from https://www.notion.so/my-integrations after creating an integration. Give the integration a friendly name like 'Github Action Release Notes'.
By default integrations cant access any content so you you *must* share your database with the integration you created earlier to be able to access it!
## Notion Database
This action expects a Notion database with the following properties:
- Name: text
- Date: date
- Tags: tags
You can use the following template and duplicate it: https://infinitaslearning.notion.site/Notion-Release-Notes-a97bedb581464a3ea24159d8eac576c0
It can look like this:

And each actual page contains whatever your release notes are:

## Usage
Typically this is used with a changelog builder:
```yaml
- name: Release Changelog Builder
uses: mikepenz/release-changelog-builder-action@v2.7.1
id: build_changelog
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Notion release notes
uses: infinitaslearning/notion-release-notes@main
with:
token: ${{ secrets.NOTION_TOKEN }}
database: 619f0845c68a4c18837ebdb9812b90c0
name: Super Amazing Service
tags: segment,team,service-name
body: ${{ steps.build_changelog.outputs.changelog }}
```
To get the database ID, simply browse to it, click on the '...' and get a 'Copy link'. The GUID at the end of the URL is the id.
## Development
Assumes you have `@vercel/ncc` installed globally, you need a `NOTION_TOKEN` in your environment for the tests to pass.
After changes ensure you `npm run build`, commit and then submit a PR.