これまでのおさらい
はじめに
こんにちは、都内でソフトウェアエンジニアとして働いている藤澤です。
本連載「GitHub Actionsをはじめよう」の第1回では、「まずはGitHub Actionsに触れてみよう」というテーマのもと、実際にワークフローを作って動かしてみました。第2回となる今回は、より詳しくGitHub Actionsの構文を学んでいきましょう。
対象読者
- GitHub Actionsを使ったことはないが使ってみたいという方
- GitHub Actionsを学び直したい方
- Git、GitHubの基本的な利用方法を理解されている方
本記事の情報について
本連載に掲載している内容は、2025年4月現在の情報を元にしております。実際に利用する際は公式ドキュメントをご確認ください。
いろいろなイベントで動かしてみよう
ワークフローには、ワークフローのトリガーとなるイベントを1つ以上指定します。「いつ」「どんなとき」にワークフローを動かしたいのかというタイミングを決めるのです。今回は前回も利用したpush
イベントの振り返りと、よく利用するであろうイベントを2つ紹介します。
ここで紹介するもの以外にも指定できるイベントはたくさんあるので、公式ドキュメントをご確認ください。
基本構文
第1回のサンプルコードで利用したpush
イベントを参考に、イベント指定の基本的な構文を説明します。イベントはon
キーを使って指定します。以下は第1回のサンプルコードの一部抜粋です。mainブランチにpushしたときにワークフローが実行されます。
name: Hello World GitHub Actions run-name: ${{ github.actor }} ran the workflow on: push: branches: - 'main'
push
イベントを指定する場合、branches
やbranches-ignore
といったフィルターを指定することで、フィルタリングが可能です。branches
の場合、指定したブランチ名パターンに一致するブランチの場合にワークフローを実行します。branches-ignore
の場合は、指定したブランチ名パターンに一致するブランチの場合はワークフローを実行しません。
on
キー自体はワークフローに対して1つだけ指定できますが、イベントは複数指定できます。以下は、push
イベントとpull_request
イベントの両方を指定したサンプルコードの一部抜粋です。
on: push: branches: - 'main' pull_request: types: - 'opened'
上記の場合、mainブランチにpushされたときとプルリクエストが作成されたときにワークフローが実行されます。
schedule
今回新たに紹介するイベントの1つ目はschedule
です。指定した時刻にワークフローを実行できます。スケジュールはcron形式で記載します。
name: Schedule event demo on: schedule: - cron: '0 23 * * *' jobs: print-info-job: runs-on: ubuntu-latest steps: - run: echo "Event - ${{ github.event_name }}"
上記の指定では、毎日8時00分にワークフローが実行されます。時刻はUTCで指定する必要があります。日時でビルドしたい、週次で情報をチェックしたい、といった場合に利用できます。
schedule指定の場合、注意点がいくつかあります。scheduleを指定したワークフローは、このワークフロー、すなわちymlファイルがデフォルトブランチにコミットされている必要があります。例えば、デフォルトブランチがmainブランチの場合、featureブランチでワークフローを作成しただけではこのワークフローは実行されません。mainブランチにマージされる必要があります。
また、必ずしも指定した時間通りに実行されるわけではありません。負荷状態などから指定した時間ぴったりに動かないことがあります。
スケジュール指定を行ったワークフローを一度動かすと、指定日時になるたびに動き続けます。止めたい場合は、ワークフローのイベントを別イベントに書き換える他、GitHub上からワークフローを無効化することでも可能です。
workflow_dispatch
2つ目はworkflow_dispatch
です。ワークフローを任意のタイミングで実行したい、という場合に利用できます。
name: Workflow dispatch event demo on: workflow_dispatch jobs: print-info-job: runs-on: ubuntu-latest steps: - run: echo "Event - ${{ github.event_name }}"
workflow_dispatch
を指定することで、GitHub上のワークフロー画面に、手動で実行するためのボタンが表示されます。

「Run workflow」ボタンを押すことでワークフローを実行することができます。
ボタンの上には、ブランチを選択するUIが表示されます。ブランチ選択のUIは、イベントにworkflow_dispatch
を指定すると自動的に表示されます。他の入力値を自分で設定することも可能です。
schedule
イベントと同様、こちらもデフォルトブランチにymlファイルがコミットされている必要があるのでお気をつけください。