1.はじめに
どうも、趣味でデータ分析している猫背なエンジニアです。
今回は、GitHubの整備を久しぶりにして、新しい発見をしたので記録します。
2.GitHubにQiitaの記事を載せる方法
■ 概要
この記事では、Qiitaで書いた最新記事をGitHubプロフィール(README.md)に自動で表示する方法を説明します。
■ この記事でできること
Qiitaに記事を書くと何もしなくても、ポートフォリオ(GitHubプロフィール)が更新される。
いわば 「GitHubでタイムライン化」 を目指しました。
■ 完成イメージ
GitHubプロフィールには、こんな感じで表示されます。
📝 Excel業務をDXしたら使徒が殲滅された話
📝 Pythonでクソアプリを作って正気を保つ方法
📝 VSCode拡張で人生がちょっと楽になった
3.事前準備
■ 必要な要素
〇 GitHubアカウント
〇 Qiitaアカウント
〇 Qiitaでの投稿した記事
〇 GitHubプロフィール用リポジトリ
4.機能作成
■ 機能概要
GitHub README単体では外部RSSを取得できないため、GitHub Actionsを使ってREADMEを書き換えるのがポイントです。
📝Qiita
↓
GitHub Actions(定期実行)
↓
README.md を自動更新
■ README.md の準備
README.md に以下を追記します。この START と END の間を、GitHub Actionsが自動で上書きします。
<!-- QIITA-POSTS:START -->
- 📝 記事を同期中...
<!-- QIITA-POSTS:END -->
■ GitHub Actions(qiita.yml)を作成
次に、GitHub Actionsの設定ファイルを作ります。
ファイル配置としては、.github/workflows/qiita.ymlで配置します。まずはここにymlファイルを作成してください。
GitHubユーザ名/
├ README.md
└ .github/
└ workflows/
└ qiita.yml
■ qiita.yml の中身
name: Update Qiita Posts
on:
schedule:
- cron: "0 */6 * * *" # 6時間ごと
workflow_dispatch:
jobs:
update-readme:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Fetch Qiita RSS
uses: gautamkrishnar/blog-post-workflow@v1
with:
feed_list: "https://qiita.com/Necoze/feed.atom"
comment_tag_name: "QIITA-POSTS"
max_post_count: 5
template: |
- 📝 **[$title]($url)**
<sub>$date</sub>
※ Necoze の部分は自分のQiitaユーザー名に変更してください。
■ GitHub Actions の権限設定(重要)
このままだと 403エラー で失敗します。以下を必ず設定してください。
- リポジトリの
Settings Actions → GeneralWorkflow permissions
- ✅ Read and write permissions
- ✅ Allow GitHub Actions to create and approve pull requests
5.動作確認
- GitHubリポジトリの
Actionsタブ Update Qiita Posts-
Run workflowをクリック
数十秒後、README.md が更新されていれば成功です。
6.おわり
今回は、GitHubのプロフィールをカスタマイズするために新しい要素を研究して作ってみました。
私自身、GitHubなんてソースコードの倉庫としか思っていなかったのですが、今後は改めるようにしようと思います。(笑)
まだまだ発見がいっぱいありますね。
