📅
GitHub Actionsで定期的にScrapboxのページを数えて通知する機能を作りました🗑️
タイトルの機能を作ってみました。
毎朝筆者のScrapboxのプロジェクトのページ数を数え、それをgithubリポジトリとSlackに通知するといったものです。
つくったもの
以下のリポジトリで管理しています。
背景
筆者はプライベートで学んだ内容をScrapboxに書き殴り、とりあえずメモをするスタイルで学習をしています。
日々学習し、ページがどんどん増えていく(はず)のを可視化して、今後のやる気につなげようと思い、この機能を試しに作ってみました。
あとgithubの草を常に生やす強い人に擬態したかった
動くとこんな感じ
READMEはこんな感じで
Slackに通知するとこんな感じです
機能一覧
- 毎朝
5:00
にワークフローを実行し- Scrapboxのページ数を数える
-
README.md
に反映し、リポジトリへpush - Slackに結果とページ数を通知する
ポイント
ScrapboxのAPIを叩く
Scrapboxにはページの情報を取得できるAPIがあるので、それを利用しました。
こうすることでActions側でページ数を取得可能です。
Schedule
)
処理の定期実行(Github Actionsでは、schedule
をトリガーにワークフローを実行させることが可能です。
例えば以下だと毎日5時(UTC)で実行されます。
on:
schedule:
- cron: '0 5 * * *'
日本時間に修正する場合は9を引きます
on:
schedule:
- cron: '0 20 * * *'
permissions
の設定
リポジトリへREADME.md
をpushするために以下の設定が必要でした。
permissions:
contents: write
GITHUBのAPIを使用するためにこのpermissions
を設定する必要があります。
権限周りがどうも難しく、調べるのに時間がかかりました。
いずれ記事にしたいと思います。
slackへの通知
以下を使用させていただきました。
使ったことがあったのと、ページ数を書き込める項目があったためです。
時間をかけることなく通知機能を用意できたので、非常に便利でした。
作ってみて
以下の点でよかったです!
- ページ数を知るのにslackを見ればよいので楽
- ページ数が増えた増えてないを手軽に知れるので、「今日はなんか書こう!」というモチベーションにつながった
通知するのはかなり応用がきくと思うので、他にも活かしてみたいところです。
(おまけ)試行錯誤したメモ
スクラップで試行錯誤した履歴をメモしました。
Discussion