1. はじめに
GitHub Copilot を日常的に使っていると、「毎朝の Issue トリアージ」や「定期的なレポート生成」のように、決まった時間に繰り返し実行したいタスクが出てきます。しかし Copilot にはスケジュール実行専用の単一機能があるわけではなく、目的に応じて選べる複数の手段が存在します。本記事では、2026 年 7 月時点で利用できる 4 通りのスケジュール実行手段を、設定手順・スケジュール粒度・使い分けの観点で整理します。
2. 結論
できます。 GitHub Copilot には「定期実行するようなジョブ(スケジュール実行 / 繰り返しタスク)」を定義する手段が、2026 年 7 月時点で 4 通り 用意されています。用途・実行場所・スケジュール粒度が異なるため、目的に合わせて選ぶのがポイントです。
- Copilot オートメーション(automations) — GitHub 上で Copilot cloud agent をスケジュール実行するノーコード機能
- Copilot CLI の
/every//after— 対話セッション内でプロンプトを繰り返し / 遅延実行するスラッシュコマンド copilot -p+ cron / タスクスケジューラ — CLI をプログラム的に呼び、OS のスケジューラで無人実行- GitHub Agentic Workflows(gh-aw) — 自然言語 Markdown を GitHub Actions の cron ワークフローにコンパイルして実行
3. 方法 1: Copilot オートメーション(ノーコード・GitHub 上で実行)
最も手軽なのが Copilot オートメーション です。Copilot cloud agent(旧 coding agent)を、スケジュールまたはリポジトリ内のイベントをトリガーに自動起動できます。Issue のラベリング、PR のトリアージ、定期レポート作成などをコードなしで自動化できます。
3.1 設定手順
リポジトリの Agents タブ、または GitHub Copilot アプリの Automations タブから設定します。
- リポジトリのトップページで Agents アイコン →サイドバーの Automations を開く
- Create new をクリックし、オートメーションに名前を付ける
- トリガーを 1 つ以上選ぶ:
- On a schedule — 毎時 / 毎日 / 毎週 の繰り返し間隔から選択
- When an issue is created — Issue 作成のたびに実行(検索クエリでフィルタ可)
- When a pull request is opened — PR 作成のたびに実行(検索クエリ・変更ファイルでフィルタ可)
- When a pull request is synchronized — PR に新規コミットが push されるたびに実行
- プロンプトに毎回実行させたいタスクを記述(例:
この Issue を内容に応じて bug / enhancement / other にラベル付けして) - 任意でモデルを選択
- Copilot が使えるツール(push、ラベル更新、PR 作成など)を必要最小限だけ選ぶ(
Suggest toolsで提案も可能) - Create automation で保存
作成後は Run now ボタンでトリガーを待たずに即時テスト実行でき、動作を確認できます。
3.2 利用要件
- リポジトリが private または internal であること(public リポジトリでは利用不可)
- そのリポジトリで Copilot cloud agent が有効であること(Business / Enterprise では管理者によるポリシー有効化が必要)
- 組織が cloud agent とオートメーションの両方を許可していること(既定で有効)
- プラン: Pro / Pro+ / Max / Business / Enterprise
ポイント: native のスケジュールは「毎時 / 毎日 / 毎週」の 3 粒度のみ。
0 9 * * 1(毎週月曜 9:00)のような任意の cron 式を使いたい場合は、後述の方法 3 / 4 を選びます。
4. 方法 2: Copilot CLI の /every と /after(対話セッション内)
GitHub Copilot CLI には、対話セッション内でプロンプトをスケジュール投入する 2 つのスラッシュコマンドがあります(experimental 機能。/experimental on または --experimental で有効化)。
/every— 一定間隔でプロンプトを繰り返し投入/after— 指定した遅延後に一度だけ投入
# 実験的機能を有効化
/experimental on
# 1 時間ごとにテストを実行し、新しい失敗を要約
/every 1h テストスイートを実行して新しい失敗を要約して
# 30 分ごとに未対応 PR のコメントをチェック
/every 30m 自分のオープン PR に新しいコメントがないか確認して
# 30 分後に一度だけ実行
/after 30m 直近 30 分の README.md の変更点を教えて
4.1 間隔・遅延の書式
| サフィックス | 単位 | 例 |
|---|---|---|
s | 秒 | 30s |
m | 分 | 5m |
h | 時間 | 2h |
d | 日 | 1d |
- サフィックスなしの数値は分として解釈(
/every 30 ...は 30 分ごと) - 最小 10 秒、最大 1 日(24 時間)
/refactor-planのようなスキルもスケジュール可能(ユーザー起動可能なスキルに限る)
4.2 制約
/every と /after の予約はそのセッションが起動している間だけ発火します。セッションを閉じると停止し、--continue / --resume で再開すると間隔はその時点から測り直しになります。常時無人で回したい場合は方法 3 を使います。
5. 方法 3: copilot -p + cron / タスクスケジューラ(無人実行)
セッションを開いていなくても定期実行したいなら、Copilot CLI をプログラム的モード(copilot -p "プロンプト")で呼び出し、OS のスケジューラに登録します。CLI は対話 UI を表示せずプロンプトを処理して終了します。
5.1 macOS / Linux(cron)
# crontab -e で登録。毎朝 9:00 に実行する例
0 9 * * * cd /path/to/repo && copilot -p "テストを実行し、失敗があれば要約して tracking Issue にコメントして" --allow-all >> "$HOME/copilot-nightly.log" 2>&1
5.2 Windows(タスク スケジューラ)
# 毎日 09:00 に実行するタスクを登録
$action = New-ScheduledTaskAction -Execute "copilot" -Argument '-p "依存関係を更新する PR を作成して" --allow-all' -WorkingDirectory "C:\path\to\repo"
$trigger = New-ScheduledTaskTrigger -Daily -At 9am
Register-ScheduledTask -TaskName "Copilot Nightly" -Action $action -Trigger $trigger
代表的なユースケース:
- ナイトリー保守 — 毎晩ブランチ最新に対してテストを回し、要約を Issue に投稿
- 定期的な依存関係チェック — 週次で依存更新 PR を作成しテスト
- 定期レポート — 割り当てられた Issue / PR の日次サマリを生成して通知
注意:
--allow-all(=--yolo)は全ツールを無条件許可します。無人実行では便利ですが破壊的操作のリスクがあるため、専用リポジトリ・最小権限トークン・サンドボックス(copilot --cloudなど)と組み合わせてください。
6. 方法 4: GitHub Agentic Workflows(gh-aw)
GitHub Agentic Workflows(gh-aw) は、エージェントの振る舞いを自然言語の Markdown で書き、GitHub Actions の YAML ワークフローにコンパイルして実行する仕組みです(GitHub Next 発、リポジトリは github/gh-aw)。トリガーは通常の GitHub Actions 仕様なので、on: schedule の cron で任意スケジュール実行できます。GitHub Copilot / Claude / Codex / Gemini のいずれのエンジンでも動きます。
6.1 ワークフロー定義(Markdown)
---
on:
schedule:
- cron: "0 9 * * 1" # 毎週月曜 9:00 UTC に実行
permissions:
contents: read
issues: read
engine: copilot
safe-outputs:
create-issue:
tools:
web-search:
---
# 週次 Issue トリアージ
リポジトリ ${{ github.repository }} の未ラベル Issue を確認し、
内容に応じて bug / enhancement / question のいずれかを提案する
サマリ Issue を 1 件作成してください。
6.2 コンパイルと実行
# gh CLI 拡張をインストール
gh extension install github/gh-aw
# .github/workflows/ に置いた Markdown を Actions ワークフロー(.lock.yml)へコンパイル
gh aw compile
生成された .lock.yml は通常の GitHub Actions ワークフローなので、Actions のログ・権限・シークレット・監査がそのまま効きます。正確なコマンドやサンプルは公式の Quick Start を参照してください。
6.3 設計上の特徴
- read-only がデフォルト。書き込みは sanitize された
safe-outputs(create-pull-request/create-issueなど)経由のみで、エージェント自身は write 権限を持たない - Actions のセキュリティモデルを継承(サンドボックス、スコープ付き権限、SHA 固定依存、ツール allow-list、コンパイル時検証)
- エンジン非依存でポータブル。Copilot ⇄ Claude ⇄ Codex を書き換えなしで差し替え可能
- ただし現状はリサーチデモンストレーター(製品ではない)。本番導入は慎重に
Issue トリアージ、継続的 QA、継続的ドキュメント更新、テストカバレッジ改善など、「繰り返しで、協調的で、監査可能」なタスクに向いています。
7. 比較表
| 観点 | 方法 1: オートメーション | 方法 2: /every /after | 方法 3: copilot -p + cron | 方法 4: gh-aw |
|---|---|---|---|---|
| 実行場所 | GitHub クラウド | ローカル(対話セッション) | ローカル / サーバ | GitHub Actions |
| スケジュール粒度 | 毎時 / 毎日 / 毎週 + イベント | 10 秒〜24 時間 | 任意 cron | 任意 cron |
| コード要否 | ノーコード(UI) | スラッシュコマンド | シェル + cron | Markdown → YAML |
| 無人実行 | ○ | ×(セッション依存) | ○ | ○ |
| チーム共有・監査 | 個人単位(セッションは共有) | × | △(各自の端末) | ◎(Actions で版管理) |
| 主な用途 | リポジトリ定型作業の自動化 | 作業中の繰り返しチェック | ナイトリー保守 | 継続的 AI / 自動保守 |
| 主要要件 | private/internal + cloud agent | CLI(実験的機能) | CLI インストール | gh 拡張 + Actions |
補足: 方法 3 と 4 の土台はいずれも「GitHub Actions / OS の cron による
on: schedule」です。任意の cron 式で細かく制御したい場合はこの 2 つが選択肢になります。
8. 使い分けフローチャート
9. セキュリティと運用の注意点
定期実行ジョブはエージェントが無人でリポジトリを操作するため、OWASP LLM リスク(プロンプトインジェクション、過剰権限、データ漏えい等)への配慮が欠かせません。
- プロンプトに機密情報を書かない。オートメーションが起動したセッションは、リポジトリの読み取り権限を持つ全員に見えます。機密値はリポジトリシークレットで渡す
- 最小権限を徹底する。オートメーションでは必要なツールだけを選び、gh-aw では read-only +
safe-outputsを活用する - 人間のレビューを挟む。書き込みは PR / Issue / コメントとして提出させ、サイレントな変更を避ける(Human-in-the-Loop)
--allow-all/--yoloは無人実行で慎重に。専用リポジトリやサンドボックス(copilot --cloud、/sandbox enable)と併用する- 外部トリガーの入力を信頼しない。Issue / PR 本文経由のインジェクションを想定し、ツール allow-list とネットワーク制御で防御する
10. まとめ
GitHub Copilot で定期実行ジョブは 4 通り で実現できます。
- 今すぐ・ノーコードで → Copilot オートメーション(毎時 / 毎日 / 毎週)
- 作業しながら繰り返し → Copilot CLI
/every/after(セッション内・実験的) - 無人で任意 cron →
copilot -p+ cron / タスクスケジューラ - チームで監査可能な継続的 AI → GitHub Agentic Workflows(gh-aw)
「毎時 / 毎日 / 毎週」で足りるならオートメーション、細かい cron やチーム運用が必要なら Actions ベース(gh-aw)へ、と粒度と運用要件で選ぶのが失敗しないコツです。まずは低リスクなタスク(Issue トリアージやレポート生成)から、最小権限で小さく始めましょう。
11. 参考情報
11.1 関連記事
- GitHub Agentic Workflows(gh-aw)徹底ディープダイブ — 自然言語で書く「Continuous AI」の全貌
- GitHub Copilot Agentic Workflows 入門: VS Code で始める実践パターン
- GitHub Copilot の Agent Skills と Custom Agent — 何が違い、どう使い分けるか
- GitHub Actions 再利用可能ワークフロー
11.2 参考リンク
- Creating automations with Copilot cloud agent
- About Copilot automations
- Scheduling prompts in GitHub Copilot CLI(
/every//after) - Running GitHub Copilot CLI programmatically(
copilot -p) - Using GitHub Copilot CLI
- GitHub Agentic Workflows(gh-aw)リポジトリ
- GitHub Next: Agentic Workflows
- Events that trigger workflows: schedule(GitHub Actions の cron)
11.3 脚注(出典詳細)
[^automations-create]: Creating automations with Copilot cloud agent — GitHub Docs. https://docs.github.com/en/copilot/how-tos/use-copilot-agents/cloud-agent/create-automations (2026-07-01 確認)
[^schedule-prompts]: Scheduling prompts in GitHub Copilot CLI(/every / /after)— GitHub Docs. https://docs.github.com/en/copilot/how-tos/copilot-cli/automate-copilot-cli/schedule-prompts (2026-07-01 確認)
[^run-cli-programmatically]: Running GitHub Copilot CLI programmatically(copilot -p)— GitHub Docs. https://docs.github.com/en/copilot/how-tos/copilot-cli/automate-copilot-cli/run-cli-programmatically (2026-07-01 確認)
[^gh-aw-repo]: GitHub Agentic Workflows(gh-aw)リポジトリ. https://github.com/github/gh-aw (2026-07-01 確認)
[^schedule-events]: Events that trigger workflows: schedule(GitHub Actions の cron)— GitHub Docs. https://docs.github.com/en/actions/reference/events-that-trigger-workflows#schedule (2026-07-01 確認)
この記事の執筆にあたり、AI の支援を受けています。掲載内容は調査日時点の公式ドキュメントに基づきます。機能は更新される可能性があるため、実装前に最新の公式情報をご確認ください。






