Home

Awesome

notion-board

Monitor your Node.js modules and repositories from a Notion page!

status board on notion

How it works

This project is a GitHub Action that exports a set of data gathered from GitHub and NPM to publish it your Notion.

Doing so you will be able to monitor and filter your Node.js modules and repositories from a single page and much more.
Here an example of the Fastify organization's status board!

The collected data are:

Here is a sample database template it will be used to store the data.

Note
The project is still in early development and the data exported are not yet customizable nor configurable.
I aim to make this application available from the Notion Connections marketplace.

How it works in details

This GitHub Action will:

Known behaviors

Usage

To install this GitHub Action, you need to create a new GitHub repository and add a .github/workflows/notion-board.yml file with the following content:

name: Notion Board

on:
  workflow_dispatch: # Allow manual trigger to force the update
  schedule:
    - cron: "0 12 * * *" # Sync it "Everyday at 12:00 UTC (5:00 PT)" https://crontab.guru/#0_12_*_*_*

jobs:
  update-notion-board:
    runs-on: ubuntu-latest

    steps:
      - name: Update Notion
        uses: Eomm/notion-board@v0
        with:
          github-repository-query: user:Eomm is:public # Replace with your query eg: "org:fastify"
          notion-token: ${{ secrets.NOTION_TOKEN }}
          notion-database-id: ${{ secrets.NOTION_DATABASE_ID }}

How to configure Notion

In order to use this GitHub Action, you need to create:

  1. A notion integration token to allow the GitHub Action to update the database
  2. An empty notion database to store the data

Create the Notion API token

To get the token, you must follow the official Notion documentation to create the required resources.
Note that you must add the following Capabilities to the integration:

Create the Notion database

To create the database, you can follow the official Notion documentation or follow this quick guide:

StepDescription
Create an empty page
Create an empty inline database
Add to the page, the connection you created to get the API token
Share the database link to get a link that contains the ID
Last stepAdd the database ID to the GitHub Action secrets

Note
The Action will add to the database all the necessary columns. If you rename the columns or change the column's type, the columns will be added again. So, right now you can't change the columns' name or type.

Inputs

InputDescriptionRequiredDefault
github-repository-queryThe GitHub repository query to fetch the repositories to monitor. You can test the query on GitHub SearchYes
github-issue-labelsFilter the issues counter by labels. Example: good first issueNo
notion-tokenThe Notion API key to use to update the databaseYes
notion-database-idThe Notion database ID to updateYes
github-tokenThe GitHub token to use to fetch the repositoriesNo${{github.token}}
delete-additional-rowsDelete Notion database's rows if they are not present in the GitHub query.Notrue
log-levelThe log level to useNoinfo

License

Copyright Manuel Spigolon, Licensed under MIT.