官報のRSSを探していたところ、見つからなかったため、このプロジェクトを作成しました。
このアクションを使い、官報の更新情報を毎日確認し、SNSなどで通知できるようにすることを目指しています。
別レポでRSSを作成していますので、RSSのみをご利用の方はこちらをご覧ください。
このGitHub Actionをワークフローに組み込むことで、官報の更新を自動的にチェックし、必要に応じてPDFをダウンロードすることができます。
以下は、ワークフローでの使用例です。
もしくは、定期更新ワークフローをご覧ください
name: 毎日官報発行チェッカー
on:
schedule:
- cron: "45 23 * * *" # 毎日8:45 JST
workflow_dispatch:
jobs:
fetch-kanpo:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: 官報チェック(DL無し)
id: fetch-kanpo-step
uses: testkun08080/action-kanpo@main
with:
dlpdf: "false" # PDFをダウンロードしない
# date: "2025-07-03" # 日付を指定する場合はここに入力 ない場合は当日の日付を使用
outputs:
kanpo_found: ${{ steps.fetch-kanpo-step.outputs.kanpo_found }}
pdf_infos: ${{ steps.fetch-kanpo-step.outputs.pdf_infos }}
show-fetch-kanpo-results:
needs: fetch-kanpo
runs-on: ubuntu-latest
steps:
- name: 結果を表示
run: |
echo "官報取得成功 or 失敗: ${{needs.fetch-kanpo.outputs.kanpo_found}}"
echo "取得PDF数: ${{needs.fetch-kanpo.outputs.pdf_infos}}"
fetch-dl-kanpo:
needs: fetch-kanpo
if: needs.fetch-kanpo.outputs.kanpo_found == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: 官報チェック(DLあり)
id: fetch-dl-kanpo-step
uses: testkun08080/action-kanpo@main
with:
dlpdf: "true" # PDFをダウンロードする
# date: "2025-07-03" # 日付を指定する場合はここに入力 ない場合は当日の日付を使用
- name: 自動コミット
uses: stefanzweifel/git-auto-commit-action@v6
with:
commit_message: 官報のダウンロード結果の自動コミット
outputs:
kanpo_found: ${{ steps.fetch-dl-kanpo-step.outputs.kanpo_found}}
pdf_infos: ${{ steps.fetch-dl-kanpo-step.outputs.pdf_infos }}
show-fetch-dl-kanpo-results:
needs: fetch-dl-kanpo
runs-on: ubuntu-latest
steps:
- name: 結果を表示
run: |
echo "官報取得成功 or 失敗: ${{needs.fetch-dl-kanpo.outputs.kanpo_found}}"
echo "取得PDF数: ${{needs.fetch-dl-kanpo.outputs.pdf_infos}}"dlpdf: PDFをダウンロードするかどうか(デフォルト:false)。trueに設定するとPDFをダウンロードします。date: 対象日付(例:2025-07-05)。指定しない場合は当日の日付を使用します。
kanpo_found: 官報が見つかったかどうかを示すブール値。pdf_infos: ダウンロードしたPDFの情報リスト(JSON形式)。各PDF情報には以下の詳細が含まれます:Key 内容 urlPDFファイルのURL namePDFに関連する名前またはタイトル(通常は日付や説明) filenameダウンロードしたPDFのファイル名 toc_infos: 官報の目次情報リスト(JSON形式)。各目次情報には、htmlでの要素と内容(タイトル情報や、リンク情報)が含まれますKey 内容 element_typehtmlで扱われる要素 (h2/h3/h4/ul)など valueタイトル名、もしくは [{"link_title": "リンク名", "url": "urllink"}]などの辞書型リスト形式の値が入っています
-
PDFをダウンロードした場合、日付ごとに
kanpo/YYYY-MM-DD/官報_YYYY-MM-DD.mdというファイルが生成されます。このファイルには、ダウンロードしたPDFの一覧と官報の目次情報が詳細に記載されています。
-
ローカルでテストする場合は、Python環境と依存関係(
pyproject.tomlに記載)をインストールする必要があります。 このレポジトリのクローンを行ってから、以下のコマンドでセットアップできるはずです。uv sync
-
以下のコマンドを参考に実行 ダウンロードしたい場合日付指定無し(当日)
uv run fetch_kanpo.py --dlpdf trueダウンロードなし場合日付指定
uv run fetch_kanpo.py --dlpdf false --date 2025-07-05ローカルで実行結果を確認したい場合
result=$(uv run fetch_kanpo.py --dlpdf false --date 2025-07-03) echo $result
このプロジェクトのライセンスについては、LICENSEファイルを参照してください。
バグ報告や機能リクエスト、プルリクエストは大歓迎です。問題や提案がある場合は、GitHubのIssueを作成してください。
