GitHub Action: Terraform Pull Request Report Generator
Updates Pull Requests with visual diff of Terraform Plan changes
name: terraform-plan
on:
pull_request:
jobs:
terraform-plan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: hashicorp/setup-terraform@v1
with:
terraform_wrapper: false
- run: terraform init
- run: terraform plan -lock=false -out terraform.plan
# generate plain output
- run: terraform show -no-color terraform.plan > terraform.text
# generate json output
- run: terraform show -json terraform.plan > terraform.json
- uses: ahmadnassri/action-terraform-report@v3
with:
# tell the action the plan outputs
terraform-text: ${{ github.workspace }}/terraform.text
terraform-json: ${{ github.workspace }}/terraform.json
remove-stale-reports: true
Note: Ensure terraform_wrapper
is set to false
to better capture the output into a file (or use your own method)
input |
required |
default |
description |
terraform-text |
✅ |
- |
path to the file resulting from the output of terraform show /path/to/plan |
terraform-json |
✅ |
- |
path to the file resulting from the output of terraform show -json /path/to/plan |
github-token |
❌ |
github.token |
The GitHub token used to post comments on pull requests |
show-plan |
❌ |
true |
include the terraform plan view in the final output? |
show-diff |
❌ |
false |
include the diff view in the final output? |
remove-stale-reports |
❌ |
false |
remove report comments for old commits? |
custom-header |
❌ |
:robot: Terraform Report |
The header text for the github comment |
Pull Request Comment (default) |
|
Pull Request Comment (Plan) |
|
Pull Request Comment (Diff) |
|
Author: Ahmad Nassri •
Twitter: @AhmadNassri