1. はじめに

GitHub Copilot を日常的に使っていると、「毎朝の Issue トリアージ」や「定期的なレポート生成」のように、決まった時間に繰り返し実行したいタスクが出てきます。しかし Copilot にはスケジュール実行専用の単一機能があるわけではなく、目的に応じて選べる複数の手段が存在します。本記事では、2026 年 7 月時点で利用できる 4 通りのスケジュール実行手段を、設定手順・スケジュール粒度・使い分けの観点で整理します。

2. 結論

できます。 GitHub Copilot には「定期実行するようなジョブ(スケジュール実行 / 繰り返しタスク)」を定義する手段が、2026 年 7 月時点で 4 通り 用意されています。用途・実行場所・スケジュール粒度が異なるため、目的に合わせて選ぶのがポイントです。

  1. Copilot オートメーション(automations) — GitHub 上で Copilot cloud agent をスケジュール実行するノーコード機能
  2. Copilot CLI の /every / /after — 対話セッション内でプロンプトを繰り返し / 遅延実行するスラッシュコマンド
  3. copilot -p + cron / タスクスケジューラ — CLI をプログラム的に呼び、OS のスケジューラで無人実行
  4. 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 タブから設定します。

  1. リポジトリのトップページで Agents アイコン →サイドバーの Automations を開く
  2. Create new をクリックし、オートメーションに名前を付ける
  3. トリガーを 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 されるたびに実行
  4. プロンプトに毎回実行させたいタスクを記述(例: この Issue を内容に応じて bug / enhancement / other にラベル付けして
  5. 任意でモデルを選択
  6. Copilot が使えるツール(push、ラベル更新、PR 作成など)を必要最小限だけ選ぶ(Suggest tools で提案も可能)
  7. 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 — 指定した遅延後に一度だけ投入
copilot
# 実験的機能を有効化
/experimental on

# 1 時間ごとにテストを実行し、新しい失敗を要約
/every 1h テストスイートを実行して新しい失敗を要約して

# 30 分ごとに未対応 PR のコメントをチェック
/every 30m 自分のオープン PR に新しいコメントがないか確認して

# 30 分後に一度だけ実行
/after 30m 直近 30 分の README.md の変更点を教えて

4.1 間隔・遅延の書式

サフィックス単位
s30s
m5m
h時間2h
d1d
  • サフィックスなしの数値はとして解釈(/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)

bash
# 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(タスク スケジューラ)

powershell
# 毎日 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)

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 コンパイルと実行

bash
# 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-outputscreate-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)スラッシュコマンドシェル + cronMarkdown → YAML
無人実行×(セッション依存)
チーム共有・監査個人単位(セッションは共有)×△(各自の端末)◎(Actions で版管理)
主な用途リポジトリ定型作業の自動化作業中の繰り返しチェックナイトリー保守継続的 AI / 自動保守
主要要件private/internal + cloud agentCLI(実験的機能)CLI インストールgh 拡張 + Actions

補足: 方法 3 と 4 の土台はいずれも「GitHub Actions / OS の cron による on: schedule」です。任意の cron 式で細かく制御したい場合はこの 2 つが選択肢になります。

8. 使い分けフローチャート

定期実行したいタスクを「どこで動かすか」「スケジュール粒度」で分岐させ、方法1〜4のいずれかへ導く使い分けフローチャート

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(セッション内・実験的)
  • 無人で任意 croncopilot -p + cron / タスクスケジューラ
  • チームで監査可能な継続的 AIGitHub Agentic Workflows(gh-aw)

「毎時 / 毎日 / 毎週」で足りるならオートメーション、細かい cron やチーム運用が必要なら Actions ベース(gh-aw)へ、と粒度と運用要件で選ぶのが失敗しないコツです。まずは低リスクなタスク(Issue トリアージやレポート生成)から、最小権限で小さく始めましょう。

11. 参考情報

11.1 関連記事

11.2 参考リンク

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 の支援を受けています。掲載内容は調査日時点の公式ドキュメントに基づきます。機能は更新される可能性があるため、実装前に最新の公式情報をご確認ください。