adamnmcc/PlainPlan - Terraform Plan Review
Analyze Terraform plans with AI and post PR-ready summaries as PR comments
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jun 15, 2026
- License
- None
Pinned Snippet
uses: adamnmcc/plainplan-action@50a72439a787726ce457f3c5218424410aca7da2 # v1tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| plan_file | Path to Terraform plan JSON file (generated via: terraform show -json tfplan > plan.json) | no | plan.json |
| api_key | PlainPlan 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_url | PlainPlan API endpoint URL (API-key mode). Defaults to production. | no | https://api.plainplan.click/api/analyze |
| free_api_url | PlainPlan free-tier (OIDC) endpoint URL. Defaults to production. | no | https://api.plainplan.click/api/free/analyze |
| oidc_audience | Audience claim requested for the GitHub OIDC token (free tier). | no | plainplan |
| github_token | GitHub token for posting PR comments. | no | ${{ github.token }} |
| post_comment | Whether to post analysis as a PR comment. | no | true |
| fail_on_risk | Risk 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`. | no | none |
Outputs
| name | description |
|---|---|
| summary | Plain-English summary of the Terraform plan |
| risk_level | Highest risk level detected: HIGH, MEDIUM, LOW, or NONE |
| pr_markdown | Full PR-ready markdown comment content |