Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/borchero/terraform-plan-comment
GitHub Action to post the output of "terraform plan" to a pull request comment.
https://github.com/borchero/terraform-plan-comment
github-actions terraform
Last synced: 5 days ago
JSON representation
GitHub Action to post the output of "terraform plan" to a pull request comment.
- Host: GitHub
- URL: https://github.com/borchero/terraform-plan-comment
- Owner: borchero
- License: mit
- Created: 2024-04-28T17:19:50.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-12-03T12:14:56.000Z (22 days ago)
- Last Synced: 2024-12-09T16:22:16.498Z (15 days ago)
- Topics: github-actions, terraform
- Language: TypeScript
- Homepage:
- Size: 446 KB
- Stars: 85
- Watchers: 4
- Forks: 13
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# terraform-plan-comment
GitHub Action to post the output of `terraform plan` to a pull request comment.
## Features
- Generate a structured, "markdown-native" representation of the plan
- Obtain a high-level overview via foldable sections
- Do not lose _any_ information compared to the output of `terraform plan`
- Post the plan to pull requests as a "sticky comment"
- Run as a "native" JavaScript action rather than launching a Docker container
- Use with or without the Terraform wrapper script provided by
[hashicorp/setup-terraform](https://github.com/hashicorp/setup-terraform)## Usage
```yaml
- name: Setup terraform
uses: hashicorp/setup-terraform@v3
- name: Initialize
run: terraform init
- name: Plan
run: terraform plan -out .planfile
- name: Post PR comment
uses: borchero/terraform-plan-comment@v2
with:
token: ${{ github.token }}
planfile: .planfile
```### Example Comments
Collapsed
Expanded
## Parameters
This action provides a few input parameters that allow for customization:
### `token` (required)
Required input parameter to access the GitHub API for posting a pull request comment. Can be provided as
`${{ github.token }}`, `${{ env.GITHUB_TOKEN }}` or some personal access token with appropriate permissions.If using the workflow-provided token, make sure that your workflow/job has write-permissions to pull requests.
### `planfile` (required)
The path to the planfile generated by `terraform plan` which holds the information about which changes ought to be
applied.### `terraform-cmd`
The command to execute to call the Terraform binary. Defaults to `terraform`. You likely don't need to augment this
unless `terraform` cannot be found in the `PATH`.### `working-directory`
The directory where the Terraform binary ought to be called. Defaults to `$GITHUB_WORKSPACE` and _must_ be specified if
`terraform init` has been run in a different directory. Should be specified relative to `$GITHUB_WORKSPACE`.> [!IMPORTANT]
> `planfile` must be specified relative to the working directory.### `header`
The header that is used for the pull request comment posted by this action. Changing the default allows to distinguish
multiple Terraform runs: each sticky pull request comment is identified by its header.