Github Actions를 사용해 Github issue와 Notion 데이터베이스를 동기화하여 Notion에서 팀원들과 진행상황을 쉽게 공유해보세요🥳

Overview

Github Actions x notion-sdk-js x docker

Slide 16_9 - 4

Demo

screencast 2022-02-06 02-55-56

Abstract

notion-sdk-js는 Notion 데이터베이스와 Github의 issue의 를 동기화시켜주는 Node-JS application 입니다.
이를 사용하기 위해선 사용자가 local computer에 dependency module을 install 한 후에
사용자가 직접 node index.js 명령어를 사용해 실행해주어 실행 시점을 기준으로 Notion 데이터베이스와 Github의 issue를 동기화합니다.

사용자의 편의를 향상시키기 위해 해당 Node-JS application을 Dockerizing하여
Notion 데이터베이스와 Github issue 연동을 Github Actions에서 사용자가 쉽게 사용할 수 있게 구성하였습니다.

Usage

아래의 Workflow 정의를 통해
별도의 install 과정 없이 쉽게 여러분의 Repo에서 Github Issue와 Notion 데이터베이스 연동을 구성할 수 있습니다.

on:
  issues:
    types: [opened, reopened, closed, deleted]
jobs:
  build:
    runs-on: ubuntu-latest
    name: "Run github issue notion sync"
    steps:
      - uses: actions/checkout@v2
      - name: create env file
        run: |
          touch .env
          echo PERSONAL_GITHUB_ACCESS_KEY=${{ secrets.PERSONAL_GITHUB_ACCESS_KEY }} >> .env
          echo NOTION_KEY=${{ secrets.NOTION_KEY }} >> .env
          echo NOTION_DATABASE_ID=${{ secrets.NOTION_DATABASE_ID }} >> .env
          echo REPO_OWNER=${{ secrets.REPO_OWNER }} >> .env
          echo REPO_NAME=${{ secrets.REPO_NAME }} >> .env
      - name: docker compose up
        run: docker-compose --env-file .env up

본 Application을 Github Actions에서 사용하기 위해서는 5개의 환경변수(environment variable)를 필요로 합니다.

  1. PERSONAL_GITHUB_ACCESS_KEY: Github Personal Access Token
  2. NOTION_KEY: Notion API KEY
  3. NOTION_DATABASE_ID: Notion Database ID
  4. REPO_OWNER: Github Repository Owner
  5. REPO_NAME: Github Repository Name

STEP 1

  • GitHub Personal Access token을 발급받는 방법은 해당 가이드를 참조해주세요! here.

STEP 2

  • Notion API key를 발급받는 방법은 해당 가이드를 참조해주세요! here

STEP 3

  • NOTION_DATABASE_ID를 발급받기 위해 먼저 해당 DataBase template을 여러분의 Notion workspace에 복제해주세요!

Notion

  • 발급받은 integration을 DataBase template이 있는 Notion에 초대해줍니다.

  • Notion Database ID는 다음과 같습니다.
    해당 Notion Page를 공유했을 때 나오는 link는 다음과 같이 생겼을 것입니다.
    https://www.notion.com/367cd67cfe8f49bfaf0ac21305ebb9bf?v=bc79ca62b36e4c54b655ceed4ef06ebd
    위 링크에서 데이터베이스의 ID는
    367cd67cfe8f49bfaf0ac21305ebb9bf입니다.

  • 아래의 링크에서 long_hash_1이 Notion Database의 ID입니다.
    https://www.notion.so/<long_hash_1>?v=<long_hash_2>
    모든 링크의 패턴이 위와 같습니다.

STEP 4

  • 발급 받은 키들을 Repo의 환경변수로 등록합니다.
  1. 연동을 원하는 Repo의 Settings 탭으로 이동합니다.
  2. Secrets의 Actions button을 click 해주세요. Screen Shot 2022-02-06 at 2 38 14
  3. New Repository Secret button을 이용해 Repository Secret을 등록합니다. repo
  4. 현재 Repository에서 REPO_OWNER는 noah0316이며,
    REPO_NAME은 notion-github-issue-sync입니다. Screen Shot 2022-02-06 at 2 41 21

STEP 5


이제 모든 설정이 끝났습니다!!

이제 Workflow 구성을 통해 Notion과 Github Issue가 연동되는 것을 확인하세요!!

You might also like...

Send messages to this bot and almacenate it on selected Notion's Database

Send messages to this bot and almacenate it on selected Notion's Database

Telegram to Notion Bot What can do this bot? With this bot you can authorize that it receive the text that you send and store it on one selected datab

Dec 11, 2022

Chrome/Safari/Firefox extension for clipping arXiv articles to Notion.

Chrome/Safari/Firefox extension for clipping arXiv articles to Notion.

arxiv2notion+ Easy-to-use arXiv clipper for Notion based on Notion API (original repo: https://github.com/denkiwakame/arxiv2notion MIT License) Downlo

Nov 24, 2022

⚡ Self-hostable branded link shortener built with Next.js & Notion API

⚡ Self-hostable branded link shortener built with Next.js & Notion API

Notiolink ⚡ Self-hostable branded link shortener built with Next.js & Notion API Made by Theodorus Clarence Installation Guide Please read the full gu

Dec 27, 2022

🪄 Automatic backups for your Notion workspaces.

🪄 Automatic backups for your Notion workspaces.

Notion Backups Set up automated backups for your Notion workspaces that run on a time-basis and notify you by Slack, Discord, or email, so you never w

Aug 7, 2022

Notion + Craft.do + Next.js

Notion + Craft.do + Next.js

Forked from Nobelium Nobelium Plus Demo: https://zuolan.me Quick Start Duplicate Craigary's Notion template, and share it to the public Fork this proj

Dec 22, 2022

Download Notion pages as markdown and image files, preserving hierarchy and enabling workflow properties. Works with Docusaurus.

Download Notion pages as markdown and image files, preserving hierarchy and enabling workflow properties. Works with Docusaurus.

notion-pull notion-pull lets you use Notion as your editor for markdown-based static site generators like Docusaurus. Using Notion instead of raw mark

Jan 7, 2023

🍎 A simple application which enables you to sync readings from your Withings scale to a Notion page.

🍎 A simple application which enables you to sync readings from your Withings scale to a Notion page.

weight-logger weight-logger is a simple application which enables you to sync readings from your Withings scale to a Notion page. Preview Installation

Jan 14, 2022

Supercharge Notion with custom commands to record, draw, and more ✍️

Supercharge Notion with custom commands to record, draw, and more ✍️

Slashy Supercharge Notion with custom commands to record, draw, and more ✨ Slashy is an open source extension that lets you create custom commands for

Dec 28, 2022

Create nbundle-powered Notion apps with one command

⚠️ This project is under development and is not ready for public use. All 1.0.x releases are considered alpha releases, are not stable, and may have b

Nov 29, 2022
Owner
SeungHyun-Hong
SeungHyun-Hong
Sync pages from Notion to GitHub to be used as a static website (JAM)

notion-jam Sync pages from Notion to GitHub to be used as a static website (JAM) Usage Quick Start Create a new Notion Integration Add Notion secret t

Victor 9 Nov 15, 2022
A CloudFlare Worker / script / bot to sync Notion pages publicly as GitHub Discussions.

notion-github-sync This bot syncs public Notion pages as GitHub Discussions/Issues. It's done periodically, based on the pages shared with the Notion

The Guild 20 Dec 22, 2022
Minimal, SEO-focused website starter kit powered by Notion, GitHub, and Vercel.

wr8 wr8 lets you create a website in Notion with better SEO. It is a customized version of nextjs-notion-starter-kit, based on NotionX. Introduction T

Verfasor 7 Dec 22, 2022
Extensión para crear el icono y cover de un curso en Platzi para organizar la toma de apuntes en Notion

?? Platzi Cover Extensión para extraer el icono y cover de un curso en Platzi para organizar la toma de apuntes en Notion ?? Instalación Descargar el

Juan Galvis 7 Nov 15, 2021
A minimal norui portfolio example built with NextJS and powered by Notion 🚀.

Minimal Norui A minimal norui portfolio example built with NextJS and powered by Notion ?? . Links Demo Site Documentation Minimal Norui Notion Databa

Joeylene Rivera 4 Nov 13, 2022
Tool for publishing posts to mitchinson.dev from a Notion database

Notion Publish Tool - publish.mitchinson.dev A publishing API for mirroring Notion posts to mitchinson.dev Includes: Asset uploading to Cloudinary CDN

Ben Mitchinson 6 Dec 23, 2022
Chrome extension for granular visual control over Notion.so

Notion Style Tweaks (Beta) A Chrome extension aiming to give granular control over the visual experience of Notion. Written in Svelte. Installation Ch

Eli 47 Dec 25, 2022
A CLI to write journal for you and save it to a Notion database!

Journal CLI NPM Link A CLI to write journal for you and save it to a Notion database! Demo Installation Run npm i -g journal-notion-cli to install the

Amit Wani 5 Oct 7, 2022
11ty starter: uses md and notion as data sources

eleventy_notion_starter 11ty starter: uses md and notion as data sources. Based on https://github.com/siakaramalegos/11ty-sia-blog. Used to power http

Thiago Margarida 18 Oct 26, 2022
Preview Notion's private links in Slack

slack-notion-preview English | 日本語 Description A Slack App that shows a preview of a private Notion link posted to Slack. Features Notion article titl

Anycloud 30 Nov 16, 2022