4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHubプロフィールにQiita最新記事を自動表示する方法(GitHub Actions)

4
Posted at

1.はじめに

どうも、趣味でデータ分析している猫背なエンジニアです。

今回は、GitHubの整備を久しぶりにして、新しい発見をしたので記録します。

2.GitHubにQiitaの記事を載せる方法

■ 概要
この記事では、Qiitaで書いた最新記事をGitHubプロフィール(README.md)に自動で表示する方法を説明します。

image.png

■ この記事でできること
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 に以下を追記します。この STARTEND の間を、GitHub Actionsが自動で上書きします。

README.md
<!-- 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エラー で失敗します。以下を必ず設定してください。

  1. リポジトリの Settings
  2. Actions → General
  3. Workflow permissions
  • ✅ Read and write permissions
  • ✅ Allow GitHub Actions to create and approve pull requests

5.動作確認

  1. GitHubリポジトリの Actions タブ
  2. Update Qiita Posts
  3. Run workflow をクリック

数十秒後、README.md が更新されていれば成功です。

6.おわり

今回は、GitHubのプロフィールをカスタマイズするために新しい要素を研究して作ってみました。
私自身、GitHubなんてソースコードの倉庫としか思っていなかったのですが、今後は改めるようにしようと思います。(笑)
まだまだ発見がいっぱいありますね。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?