コンテンツにスキップ
Zenn Dev Terraform Jp Articles Gha Terraform Plan Summarize

GitHub Actions で GitHub Models を使って terraform plan の実行結果を要約してもらう

  • URL: https://zenn.dev/terraform_jp/articles/gha-terraform-plan-summarize
  • 日付: 2026-06-26
  • Tier: Tier 3
  • 要旨: GitHub Actions の GITHUB_TOKEN で利用できるようになった GitHub Models を活用し、terraform plan の実行結果を自動要約して Pull Request にコメントするワークフローの実装例を紹介している。actions/ai-inference アクションに modelsystem-prompt を渡すだけで利用でき、モデルには openai/gpt-4o などを指定できる。models: read 権限の付与が必要で、現時点では無料利用可能ながらモデルごとのレート制限がある。

詳細

ワークフローの構成(4 ステップ):

  1. セットアップ: actions/checkouthashicorp/setup-terraform
  2. terraform init + terraform plan を実行し、ANSI エスケープシーケンスを sed で除去して GITHUB_OUTPUT に設定
  3. actions/ai-inference@v1 で GitHub Models を呼び出して要約生成(model: openai/gpt-4omax-tokens: 4000system-prompt に日本語での要約フォーマット指示)
  4. peter-evans/find-comment + peter-evans/create-or-update-comment で PR コメントを作成または更新(同一 PR での二重コメント防止)

必要な permissions:

  • contents: read
  • models: read — GitHub Models 利用に必須
  • pull-requests: write — PR コメント作成に必須

補足:

  • ANSI エスケープシーケンス除去の理由: terraform plan 出力に色付きのエスケープシーケンスが含まれるため LLM への渡し前に除去が必要
  • HCP Terraform 利用者向けには公式 Terraform Plan Analyzer モジュールが別途存在する
  • actions/ai-inference の REST API は無料だがレート制限あり(モデルごとに異なる)