adamnmcc/PlainPlan - Terraform Plan Review

Analyze Terraform plans with AI and post PR-ready summaries as PR comments

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jun 15, 2026
License
None

Pinned Snippet

workflow.ymlSHA-pinned
uses: adamnmcc/plainplan-action@50a72439a787726ce457f3c5218424410aca7da2 # v1

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
plan_filePath to Terraform plan JSON file (generated via: terraform show -json tfplan > plan.json)noplan.json
api_keyPlainPlan API key (https://plainplan.click). Optional: if omitted, the action uses the free tier for PUBLIC repos via GitHub OIDC — which requires `permissions: id-token: write` on the job. Private repos must set an api_key.no""
api_urlPlainPlan API endpoint URL (API-key mode). Defaults to production.nohttps://api.plainplan.click/api/analyze
free_api_urlPlainPlan free-tier (OIDC) endpoint URL. Defaults to production.nohttps://api.plainplan.click/api/free/analyze
oidc_audienceAudience claim requested for the GitHub OIDC token (free tier).noplainplan
github_tokenGitHub token for posting PR comments.no${{ github.token }}
post_commentWhether to post analysis as a PR comment.notrue
fail_on_riskRisk threshold that fails the run and sets the `plainplan` commit status to failure: one of none | LOW | MED | HIGH. `none` (default) never fails and is fully backward-compatible. Add the `plainplan` status to your branch protection required checks to gate merges. Requires `statuses: write`.nonone
namedescription
summaryPlain-English summary of the Terraform plan
risk_levelHighest risk level detected: HIGH, MEDIUM, LOW, or NONE
pr_markdownFull PR-ready markdown comment content