【初心者向け】GitHub Actionsで定期処理を自動化|図解&コピペ実例

「毎回手でやる作業」を、機械に任せませんか?

毎日・毎週きまってやる作業、地味に面倒ですよね。GitHub Actionsを使えば、サーバーも用意せず、決まった時刻に処理を自動で動かせます。この記事を読めば、コピペで動く設定を置いて、自分でテストするところまでできます。

用語:GitHub(ギットハブ)とは、プログラムやファイルを保存・共有できるネット上の保管庫サービス。無料で使えます。
用語:GitHub Actionsとは、そのGitHub上で「決まった作業を自動で実行してくれる」仕組みのこと。タイマー付きのお手伝いロボットのイメージです。

仕組みのイメージ

「毎朝9時に新聞を取ってきてくれる」自動タイマーのようなもの。一度セットすれば、あとはほっておいても動きます。
flowchart LR
  A[決めた時刻になる] --> B[GitHubが自動で起動]
  B --> C[書いておいた処理を実行]
  C --> D[完了]

手順1:設定ファイルの置き場所

GitHub Actionsは、決まった場所に置いた設定ファイルを読んで動きます。場所は固定です。

リポジトリ/
└─ .github/
   └─ workflows/
      └─ schedule.yml   ← これを作る
用語:リポジトリとは、1つのプロジェクトのファイル一式を入れておく“フォルダ”のようなもの。

手順2:コピペで動く設定

下を schedule.yml に貼るだけ。「毎週 月・水・金の朝9時半(日本時間)にメッセージを出す」例です。

name: 定期処理のサンプル

on:
  schedule:
    - cron: '30 0 * * 1,3,5'   # 0:30 UTC = 日本時間 9:30
  workflow_dispatch: {}         # 手動でも実行できるボタン

jobs:
  run:
    runs-on: ubuntu-latest
    steps:
      - run: echo "自動で動きました!"

手順3:まず手動でテスト

  1. リポジトリ上部の **「Actions」**タブを開く
  2. 左の一覧から **「定期処理のサンプル」**をクリック
  3. 右の 「Run workflow ▾」→ 緑の 「Run workflow」
  4. 数十秒後、緑のチェック(成功)を確認

注意:失敗した実行内の「Re-run」ではなく、**一覧右上の「Run workflow」**を使うと最新の設定で動きます。

手順4:時刻の指定(cron)を読む

用語:cron(クロン)とは、「いつ実行するか」を表す書き方。半角スペース区切りで5つの数字を並べます。
位置 意味
1 30
2 時(UTC) 0
5 曜日(0=日) 1,3,5

日本時間にするときの注意

時刻は**UTC(世界標準時)**で書きます。日本時間はUTC+9時間。例:日本の朝9時半 → 30 0 * * *

つまずきやすい点と対策

  • 毎時00分ちょうどは混雑して遅れやすい → 例のように「30分」などにずらすと安定
  • 時刻がUTC基準なのを忘れて9時間ずれる
  • リポジトリの更新が長期間ないと定期実行が止まる(一度手動実行で復活)

まとめ

  1. .github/workflows/ に設定ファイルを置く
  2. cronworkflow_dispatch を書く
  3. まず 「Run workflow」で手動テスト
  4. 時刻は UTC(日本時間−9時間)00分は避ける

まずは上のサンプルをコピペして、手動実行で「緑のチェック」を出してみましょう。